一、定义约束
数据库的表中有主键和唯一键,它们的作用都是提升查询速度。
主键和唯一键可以是表中的一列,也可以是由多个列构成的复合主键。在MySQL中,主键列必须遵守以下规则:
(1)一个表只能定义一个主键
(2)主键的值必须是能唯一标识表中的每一行,并且不能为空(null)
(3)复合主键列中不能包含不必要的多余列
(4)一个列名在复合主键的列表中只能出现一次
而唯一键在一个表内可以定义多个,并且允许有空值,但也不允许有重复值。定义主键约束时,系统会自动创建primary key索引,定义唯一键约束时,系统会自动创建unique索引。
1.定义主键约束
当主键为表中的一列时,只需添加primary key关键字即可
create table 表名(列名 列属性 primary key);
当为复合主键时,在所有列的属性定义后,加上primary key(列名)即可
create table 表名(列名 列属性,……,primary key(列名));
如果主键为一列,则上述两种方式都可以,但为多列时只能用第二种方法。此外,在定义主键约束过后,系统会自动为主键创建一个唯一索引,默认名为primary,也可以修改为其他名称。
2.定义唯一键约束
与主键约束相同,只需将上述的primar