一、语法形式
CREATE TABLE <表名>
(
字段1 数据类型 [列级别约束条件] [默认值],
字段2 数据类型 [列级别约束条件] [默认值],
...
[表级别的约束条件]
)
注意:表名不能用DROP 、ALTER、INSERT等
建一个员工表 salary:薪水
二、主键约束
主键又称主码,是表中一列或是多列的组合,主键约束(primary Key Constraint)要求主键列的数唯一,
不允许为null,主键能唯一标识表中的一行数据,可以结合外键定义不同数据表之间的关系,并且可以加快查询速度
分为两种类型:单字段和多字段主键
(一)单字段主键
设置主键的SQL语句有两种情况
(1)定义列的同时,指定主键
字段名 数据类型 primary key[默认值]
(2)定义完所有列之后,定义主键
[CONSTRAINT<约束名>] PRIMARY KEY [字段名]
这两种情况一样,都会在id字段上设置主键约束
(二)多字段主键 :主键由多个字段联合而成语法如下
PRIMARY KEY [字段1,字段2,字段3...,字段n]
假设表中没有主键id,将可以把name,sex联合起来作为主键
三、外键约束
1)外键用来在两个表数据之间建立连接,它可以是一列或是多列。一个表可以有一个或是多个外键。
2)外键对应的是参照完整性,一个表的外键可以为null,若是不为null,则每一个外键值必须等于另一个表中主键的某一个值
3)外键是本表的一个子段,它可以不是本表的主键,但是对应另外一张表的主键,定义外键之后,
不允许删除在另一张表中具有关联关系的行。
主表(父表):对于两个具有关联关系的表而言,相关联字段中主键所在的那个表即为主表。
从表(子表):对于两个具有关联关系的表而言,相关联字段中外键所在的那个表即为从表。
创建外键语法:
[CONSTRAINT<外键名>] FOREIGN KEY 字段名1[,字段名2,...]
REFERENCES<主表名> 主键列1[,主键列2,...]
外键名:定义的外键约束的名称,在一个表中不能有相同的外键名
字段名:表示子表需要添加外键约束的字段列
(一)创建部门表tb_dept1(主表)
(一)创建db_5 让它的deptId字段作为外键关联到tb_dept1表的id
constraint:约束
reference:参考
看一下db_5创建之后
1)
2)
3)
4)
四、非空约束
指定字段值不能为空,加了之后,添加数据时,该字段不加值会报错。
五、唯一性约束
要求某一列唯一,允许为空,保证一列或是几列都不出现重复值
语法:
字段名 数据类型 UNIQUE
添加相同名称
duplicate:重复
六、默认约束
指定某列的默认值,如用户表中广西人多,可以设置city 默认值为北京,在插入数据时没有为city这个字段
赋值则系统自动添加这个字段赋值为广西
语法:
字段名 数据类型 DEFAULT 默认值
创建表之后city自动添加了广西
七、自增属性
有时候需要系统自动生成字段的主键值的情况,需要id自增。
语法:
字段名 数据类型 AUTO_INCREMENT
建表,指定id自增
如果删除第二条