概念:对表中的数据进行限定,保证数据集的正确性,有效性和完整性
目录:
1.主键约束:primary key
2.非空约束:not null
3.唯一主键:unique
4.外键约束:foreign key
1.1:含义:非空且唯一
1.2:一张表只能有一个字段为主键
1.3:主键就是表中记录的唯一标识
1.4:删除主键
alrter table student DROP primary key;
1.5:知识小点 自动增长
1.6:案例:给id 添加上主键和自动增长
create table student (
id int PRIMARY KEY AUTO_INCREMENT,
name varchar(20)
);
1.7:删除自动增长
alter table stu modify id int;
1.8:案例:添加自动增长
alter table student modify id int AUTO_INCREMENT:
2.1:非空约束:某一列的值不能为null
2.2:如何使用sql语句添加表中非空约束:
alter table student modify name varchar(20) not null;
2.3:如何在创建表中给某一个添加为非空约束
create table student(
id int,
name varchar(20) not null --给名称添加为非空
);
id int,
name varchar(20) not null --给名称添加为非空
);
2.4:删除非空约束
alter table student mordify name varchar(20);
3.1:
唯一约束可以有NULL,但只能有一条记录为NULL
3.2:唯一约束与非空约束删除不同其他操作相同
alter table student DROP INDEX name;
4.1:外键可以为null,但是不可以为不存在的另一张表中不存在的外键值
4.2:外键约束 当数据有冗余时,可以进行表的拆分,让表于表产生关系,从而保证数据的正确性
4.3.创建表时,如何添加外键
create table student(
id int,
name varchar(20),
外键列:constraint 外键名称 foreign key (外键列名称) references 主表名称(主表列名称)
(约束) (关联)
);
4.4:删除外键
alter table 表名 drop foreign key 外键名称;
4.5: 创建表之后 ,添加外键
alter table 表名 add constraint 外键名称 foreign key (外键字段名称) references 主表名称(主表列名称);
4.6:级联更新:on update cascade
语法:在添加外键中,设置级联更新
alter table 表名 add constraint 外键名称 foreign key (外键字段名称) references 主表名称(主表列名称) on update cascade
(级联)
4.7:级联删除:on delect cascade
alter table 表名 add constraint 外键名称 foreign key (外键字段名称) references 主表名称(主表列名称) on delect cascade
4.8:注意:级联删除和级联更新可以一起使用也可以分开来使用,谨慎使用级联操作