1、主键约束(primary key)(非空且唯一,一张表只能有一个字段为主键、主键就是表中记录的唯一标识 )
创建表时添加约束: 主列名 列类型 primary key;
删除主键约束:alter table 表名 drop primary key;
创建完表添加约束:alter table 表名 modify 列名 列类型 primary key;
自动增长:如果某一列是数值类型,使用auto_increment,可以完成自动增长 (即在primary key后面添加auto_increment)
创建表时添加自动增长: 主列名 列类型 primary key auto_increment;
删除自动增长:alter table 表名 modify 列名 列类型;
(如果有自动增长,是无法删除主键的;删除自动增长时,主键删除不了;先删除自动增长,再删除主键)
创建完表添加自动增长: 主列名 列类型 auto_increment;
2、非空约束(not null)
创建表时添加约束:主列名 列类型 not null;
删除非空约束:alter table 表名 modify 列名 列类型;
创建完表添加约束:alter table 表名 modify 列名 列类型 not null;
3、唯一约束(unique)
创建表时添加约束:主列名 列类型 unique;
删除唯一约束:alter table 表名 drop index 列名;(唯一约束删除方式不同)
创建完表添加约束:alter table 表名 modify 列名 列类型 unique;
4、外键约束(foreign key)
创建表时添加约束:constraint 外键名 foreign key (外键列名) references 主表(主表列名);
删除外键约束:alter table 表名 drop foreign key 外键名;
创建完表添加约束:alter table 表名 add constraint 外键名 foreign key (外键列名) references 主表(主标列名);
添加级联更新:
alter table 表名 add constraint 外键名 foreign key (外键列名) references 主表(主标列名) on update cascade;
添加级联删除:
alter table 表名 add constraint 外键名 foreign key (外键列名) references 主表(主标列名) on delete cascade;