MySQL基础(2) | 数据库、数据表
MySQL基础(2) | 数据库、数据表
基本语法
- 数据库
 
#创建
CREATE DATABASE IF NOT EXISTS test_db_char
    DEFAULT CHARACTER SET utf8;
#显示创建详情
SHOW CREATE DATABASE test_db_char;
#修改
ALTER DATABASE test_db_char
	DEFAULT CHARACTER SET gbk;
#删除
DROP DATABASE IF EXISTS test_db_char;
#选择数据库
USE test_db;
数据表
#创建
create table mygoods(
  	g_id int AUTO_INCREMENT primary key, #创建表时指定主键
	g_name varchar(20),
	g_price double,
	g_count int
)engine=innodb default CHARSET=utf8;
create table myperson(
	p_id int AUTO_INCREMENT primary key,
	p_name varchar(20),
	g_id int,
	foreign key fk_pid(g_id) #创建表时指定外键
	references mygoods(g_id)
);
#显示创建详情
show create table myperson;
修改【重要】
- 添加字段
 
ALTER TABLE <表名> ADD <新字段名> <数据类型> [约束条件] [FIRST|AFTER 已存在的字段名];
# 新字段名为需要添加的字段的名称;FIRST 为可选参数,其作用是将新添加的字段设置为表的第一个字段;AFTER 为可选参数,其作用是将新添加的字段添加到指定的已存在的字段名的后面,不指定则默认将新添加的字段设置为数据表的最后列。
alter table mygoods add column g_code varchar(20) after g_price;
- 修改字段类型
 
ALTER TABLE <表名> MODIFY <字段名> <数据类型>
# 其中,表名指要修改数据类型的字段所在表的名称,字段名指需要修改的字段,数据类型指修改后字段的新数据类型。
alter table mygoods modify g_code int;
- 删除字段
 
ALTER TABLE <表名> DROP <字段名>;
#其中,字段名指需要从表中删除的字段的名称。
alter table mygoods drop g_code;
- 修改字段名
 
ALTER TABLE <表名> CHANGE <旧字段名> <新字段名> <新数据类型>;
#其中,旧字段名指修改前的字段名;新字段名指修改后的字段名;新数据类型指修改后的数据类型,如果不需要修改字段的数据类型,可以将新数据类型设置成与原来一样,但数据类型不能为空。
alter table mygoods change g_code gg_code varchar(30);
- 修改表名
 
ALTER TABLE <旧表名> RENAME [TO] <新表名>;
#其中,TO 为可选参数,使用与否均不影响结果。
alter table mygoods rename my_goods;
- 删除表
 
DROP TABLE [IF EXISTS] 表名1 [ ,表名2, 表名3 ...]
- 添加主键约束
 
ALTER TABLE <数据表名> ADD PRIMARY KEY(<列名>);
alter table mygoods add primary key (g_name);
- 添加外键约束
 
ALTER TABLE <数据表名> ADD CONSTRAINT <索引名>
FOREIGN KEY(<列名>) REFERENCES <主表名> (<列名>);
alter table myperson add constraint fk_myperson_1
foreign key(p_id) references my_goods(g_id)
- 删除外键约束
 
ALTER TABLE <表名> DROP FOREIGN KEY <外键约束名>;
alter table myperson drop foreign key myperson_ibfk_1
- 添加唯一约束
 
ALTER TABLE <数据表名> ADD CONSTRAINT <唯一约束名> UNIQUE(<列名>);
alter table mygoods add constraint unique_price UNIQUE(g_price)
- 删除唯一约束
 
ALTER TABLE <表名> DROP INDEX <唯一约束名>;
alter table mygoods drop index unique_price
非空约束(not null),默认约束(default)
显示表中所有约束
show create table table_name
参考:http://c.biancheng.net/view/2413.html
MySQL基础(2) | 数据库、数据表的更多相关文章
- MySQL基础知识 数据库 数据表
		
1.数据库结构 库 表 数据 2. sql(structured query language)结构化查询语言 管理数据库 管理表 管理数据 3.数据库 增删改查 增 create database ...
 - mysql基础篇 - 数据库及表的修改和删除
		
基础篇 - 数据库及表的修改和删除 修改和删除 一.实验简介 本节实验中,我们将学习并实践如何对数据库的内容做修改,删除,重命名等操作. 二.实验准备 在正式开始本实验内容之前,需要先 ...
 - MySQL基础学习之数据表
		
查看数据表 SHOW TABLE; 查看数据表详细结构 SHOW CREATE TABLE 表名\G; 创建数据表 CREATE TABLE 表名(数据名 类型,数据名1 类型2); CREATE ...
 - 第二百七十七节,MySQL数据库-数据表、以及列的增删改查
		
MySQL数据库-数据表.以及列的增删改查 1.创建一个表 CREATE(创建) TABLE(表) ENGINE(引擎) ENGINE=INNODB(引擎)还有很多类引擎,这里只是简单的提一下INNO ...
 - mysql基础之对库表操作
		
原文:mysql基础之对库表操作 查看一下所有的库,怎么办? Mysql>Show databases; 选库语句: Use 库名 创建一个数据库: create database 数据库名 [ ...
 - PHP创建数据库数据表
		
PHP创建数据库数据表 <?php $con = mysql_connect('localhost', 'root', 'root'); /************************在数据 ...
 - mysql更改已有数据表的字符集,保留原有数据内容
		
mysql更改已有数据表的字符集,保留原有数据内容 原文网址:http://blog.csdn.net/learn_2/article/details/6460370 环境:在应用开始阶段没有 ...
 - SQL语句(一)SQL和数据库数据表的创建
		
SQL的组成 (1) 数据定义语言DDL(Data Definition Language) 用于数据库和数据表的创建.修改和删除等操作 CREATE (create) 创建数据库.数据表 ALTER ...
 - SQL Sever实验一 创建和删除数据库数据表
		
一. 实验目的 1. 熟悉SQL Server 2008 中SQL Server Management Studio的环境 2. 了解SQL Server ...
 - opencart 3.0 版本数据库数据表字典(详细篇)
		
1.下文是opencart3.0版本数据库数据表字典,表字段与功能的介绍都比较详细. 数据表 address :地址表,会员在结账时储存的账单地址或者配送地址(这个与区域配送方 ...
 
随机推荐
- Python经典算法-快速幂
			
快速幂 问题描述: 计算a ** n % b 其中a.b和n都是32位的非负整数 即求a的n次方对b的余数 问题示例: 例如:2**31%3=2 --- 代码实现如下 class Solution: ...
 - linux实用指令 | 程序员线上排查必知必会linux指令(持续更新中)
			
Linux线上排查程序员实用指南 一.乱码问题 二.帮助指令 1. help命令 2. man命令 3. info命令 三.性能监测与优化 1. top命令 参考资源 Linux线上排查程序员实用指南 ...
 - Leetcode | 刷题日记(1)
			
本文记录个人刷题记录 推荐两个刷题网站: 地址:https://leetcode.com/ 另外一个地址:http://www.lintcode.com/ 1.Write a SQL query to ...
 - JQuery--50个必备的实用jQuery代码段.
			
原文出处:http://my.oschina.net/chengjiansunboy/blog/55496?p=2#comments 1. 如何修改jQuery默认编码(例如默认UTF-8改成改GB2 ...
 - 给定区间[-2的31次方, 2的31次方]内的3个整数A、B和C,请判断A+B是否大于C
			
题目描述给定区间[-2的31次方, 2的31次方]内的3个整数A.B和C,请判断A+B是否大于C. 输入描述:输入第1行给出正整数T(<=10),是测试用例的个数.随后给出T组测试用例,每组占一 ...
 - 如何快速搭建一个 Node.JS 项目并进入开发?
			
了解:如何快速搭建一个项目并进入开发? 在此不概述 Node.JS 的历史以及发展过程. 因为之前接触过通过 Java 开发语言,所以明确地知道一个服务器所需的文件,以及一个服务器所需要的操作. 那么 ...
 - 脚本实现统计osd内的pg数量
			
脚本代码如下: ceph pg dump | awk ' /pg_stat/ { col=; while($col!=“up”) {col++}; col++ } /[-9a-f]+.[-9a-f]+ ...
 - Go语言实现:【剑指offer】二进制中1的个数
			
该题目来源于牛客网<剑指offer>专题. 输入一个整数,输出该数二进制表示中1的个数.其中负数用补码表示. 分析: 如果一个整数不为0,那么这个整数至少有一位是1.如果我们把这个整数减1 ...
 - 《自拍教程6》打开Windows文件后缀
			
如果你用的是Windows操作系统, 请把文件后缀名打开,千万别隐藏后缀名, 后续有各类 .py, .sh, .bat, .exe等不同文件, 需要你时刻关注文件后缀名. 如果是我看到我手下的测试人员 ...
 - [Python]JavaScript VS Python 函数
			
js function 相当于 python def js语句结束符; python为缩进符 JavaScript /*定义*/ function 函数名(参数1,参数2,参数3...){ 函数体 } ...