约束:
概念:对表中的数据进行限定,保证数据的正确性、有效性和完整性
分类:
1. 主键约束:primary key
1.注意:
1.含义:非空且唯一
非空:
唯一:
2.一张表 只能有一个字段为主键
3.主键 就是表中记录的 唯一标识
2.在创建表时,添加主键约束:
3.删除主键:
4.创建完表后,添加主键:
5.自动增长:
1. 概念:
如果某一列时数值类型的,使用 auto_increment 可以来完成值的自动增长 (自动增长的数据只跟上一条记录有关系,它会读取上一条记录的值(比如id) )
2. 在创建表时,添加主键约束,并完成 主键自增长
create table 表名(
id int primary key auto_increment , -- 给id添加主键约束
name varchar(20)
);
3. 删除自动增长
4.添加自动增长
2. 非空约束:not null
1.创建表时添加约束
添加完非空约束之后,那么出现空值了就会报错:
若想删除非空约束:
alter table 表名 modify 列名 数据类型;
2.创建完表后,添加非空约束
3. 唯一约束:unique
某一列的值不能重复
1.在创建表时,添加唯一约束:
2.在表创建完后,添加唯一约束:
注意:唯一约束可以有null值,但是只能有一条记录为null
3.删除唯一约束: (区别于非空约束的删除操作)
4. 外键约束:foreign key
(让表与表之间产生关系,从而保证数据的正确性)
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.添加外键,设置级联删除
alter table 表名 add constraint 外键名称 foreign key (外键字段名称) references 主表名称 (主表的列名称) on delete cascade;
3.也可以同时设置 级联更新 、级联删除
alter table 表名 add constraint 外键名称 foreign key (外键字段名称) references 主表名称 (主表的列名称) on update cascade on delete cascade;