约束
- 概念
对表中的数据进行限定,保证数据的正确性、有效性和完整性 - 分类
1.主键约束:primary key
- 非空约束:not null
- 唯一约束:unique
- 外键约束:foreign key
非空约束
某一列的值不能为NULL
- 在创建表时添加约束
create table stu(
id int,
name varchar(20) NOT NULL;
);
- 删除约束
alter table stu change name varchar(20); - 创建完表之后添加约束
alter table stu change name varchar(20) NOT NULL;
唯一约束
某一列的值不能重复
- 在创建表时添加
create table stu(
id int,
phone_number varchar(20) UNIQUE
);
-
删除唯一约束
alter table stu drop index phone_number; - 在创建表之后添加唯一约束
alter table stu modify phone_number varchar(20); - 注意
①唯一约束可以有null值,但是每一列只能有一行为null;
主键约束
- 注意
①含义:非空且唯一
②一张表只能有一个字段为主键
③主键就是表中记录的唯一标识 - 创建表时添加主键
create table stu(
id int primary key,
name varchar(20)
);
- 删除主键
alter table stu drop primary key; - 创建完表之后,添加主键
alter table stu modify id int primary key; - 自动增长
概念:如果某一列是数值类型的,使用auto_increment可以来完成值的自动增长
- 创建表时,设置主键,并设置为自动增长
create table stu(
id int primary key auto_increment,
name varchar(20)
)
- 删除自动增长
alter table stu modify id int;//无法去掉主键,但是可以取掉自动增长 - 添加自动增长
alter table stu modify id int AUTO_INCREMENT
外键约束
让表与表产生关系,从而保证数据的正确性
- 在创建表时,添加外键
create table 表名(
...
外键列
constraint 外键名称 foreign key (外键列名) references 主表名称(主表列名)
)
- 如何删除外键
alter table 表名 drop foreign key 外键名; - 添加外键
alter table 表名 add constraint 外键名 foreign key (外键列名) references 主表名称(主表列名) -
级联更新
alter table 表名 add constraint 外键名 foreign key 外键列名 references 主表名称(主表列名)on update cascade; -
级联删除
alter table 表名 add constraint 外键名 foreign key 外键列名 references 主表名称 (主表列名)on delete cascade;w
网友评论