约束
- 概念: 对表中的数据进行限定,保证数据的正确性,有效性和完整性。
- 分类:
1,主键约束:primary key
2,非空约束:not null
3,唯一约束:unique
4,外键约束:foreign key
*非空约束:not null, 值不能为空
1,创建表时添加约束
create table student (
id int ,
name varchar(20) not null
)
2,删除name非空约束
alter table student modify name varchar(20);
3,创建表完之后添加约束
alter table student modify name varchar(20) not null;
*唯一约束:unique ,值不能重复
1,创建表示添加唯一约束
create table student(
id int,
phone_numeber varchar(20) unique
);
2,注意mysql中唯一约束的值限定的列的值可以有过个null;
3,删除唯一约束
alter table student drop index phone_number;
4,创建表后添加唯一约束
alter table student modify phone_number varchar(20)
unique;
*主键约束:primary key
1,注意:
1,含义:非空且唯一
2 ,一张表只能有一个字段为主键
3,主键就是表中唯一标识
2,在创建主键时,添加主键
create table student(
id int primary key,
name varchar(20)
);
3,删除主键
错误方法 alter table student modify id int;
alter table student drop primary key ;
4, 创建完表后,添加主键
alter table student modify id int primary
key;
5,自动增长
*概念:如果某一列是数值类型,使用 auto_increment 可以完成数值的自动增长(一般int类型)
*在创建表时,添加主键约束,并且完成主键增长
create table student(
id int primary key aout_increment,
name varchar(20)
);
*删除自动增长
alter table student modify id int;
*添加自动增长
alter table student modify id int
aout_increment;
*外键约束:foreign key
1,在创建表时,可以添加外键
*语法:
create table 表名(
······
外键列
constrain 外键名称 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 on delete cascade
2,分类:
1.级联更新:on update cascade
2.级联删除:on delete cascade