问题描述 :
约束:对表中的数据进行下限定,保证数据的正确性、有效性和完整性
解决方案 :
一、主键约束 :primary key
1.注意 :
(1)主键非空且唯一
(2)一张表只能有一个字段为主键
(3)主键就是表中记录的唯一标识
2.在创建表时,添加主键约束
3.删除主键
4.创建完表后,添加主键
5.自动增长 (只读取上一位)
(1) 概念 :如果某一列是数值类型的,使用auto_increment可以来完成值的自动增长
(2) 在创建表时,添加自动增长
(3) 删除自动增长
(4) 创建完表后,添加自动增长
二、非空约束 :not null,某一列的值不能为null
1.创建表时添加约束
2.删除name的非空约束
3.创建完表后,添加非空约束
三、唯一约束 :unique,某一列的值不能重复
1.注意 :唯一约束可以有null值,但是只能有一条记录为null
2.在创建表时,添加唯一约束
3.删除唯一约束
4.创建完表后,添加唯一约束
四、外键约束 :foreign key,让表与表产生关系从而确保数据的正确性
1.在创建时,添加外键
语法 :
create table 表名称(
...
外键列,
constraint 外键名称 foreign key(外键列名称) reference 主表名称(主表列名称)
);
2.删除外键
alter table 表名称 drop foreign key 外键名称;
3.创建表之后,添加外键
alter table 表名称 add constraint 外键名称 foreign key (外键字段名称) reference 主表名称(主表列名称)
4.级联操作 :危险且影响效率
(1)添加级联出操作
语法 :alter table 表名称 add constraint 外键名称
foreign key (外键字段名称) reference 主表名称(主表名称)
on update/delete cascade
(2)分类 :
级联更新 :on update cascade
级联删除 :on delete cascade