概念:对表中的数据进行限定,保证数据的正确性、有效性和完整性
分类:
1.主键约束:primary key
2.非空约束:not null
3.唯一约束:unique
4.外键约束:foreign key
*非空约束:not null 某一列的值不能为空
1)在创建表时添加非空约束
2)删除非空约束
例句:alter table 表名 modify 列名 数据类型;
3)添加非空约束(创建表之后添加)
例句:alter table 表名 modify 列名 数据类型 not null;
*唯一约束:unique 某一列的值不能重复
注意:唯一约束可以有null值,但是只能有一个
1)在创建表时添加唯一约束(和非空用法一样)
2)删除唯一约束
alter table 表名 drop index 列名;
3)添加唯一约束(创建表之后添加:指定的列内不能有重复)
alter table 表名 modify 列名 数据类型 unique;
*主键约束
1)注意:
(1)含义:非空且唯一
(2)一张表只能有一个字段为主键
(3)主键就是表中记录的唯一标识
2)在创建表时,添加主键约束
主键 数据类型 primary key;
3)删除主键
alter table 表名 drop primary key;
4)添加主键(表创建完之后:要添加主键的列不能有重复)
alter table 表名 modify 列名(主键) 数据类型 primary key;
5)自动增长:
(1)概念:如果某一列是数值类型的,使用auto_increment可以来完成值得自动增长
(2)主键 数据类型 primary key auto_increment;//给列添加自动增长的主键约束
(3)删除自动增长:alter table 表名 modify 主键 数据类型;//表创建之后
(4)添加自动增长:alter table 表名 modify 主键 数据类型 auto_increment;//表创建之后
*外键约束
1)在创建表时,可以添加外键
语法:
create table 表名(
. . .
外键列
constraint 外键名称 foreign key(外键名称列)references 主表名称(主表列名称)
);
2)删除外键
alter table 表名 drop foreign key 外键名称;
3)添加外键(创建表之后)
alter table 表名 add constraint 外键名称 foreign key(外键名称列)references 主表名称(主表列名称)
4)级联操作
(1)添加级联操作
语法:alter table 表名 add constraint 外键名称 foreign key(外键名称列)references 主表名称(主表列名称)
on update cascade;
(2)分类
*级联更新:on update cascade
*级联删除:on delete cascade