概念:对表中的数据进行限定,保证数据的正确性,有效性和完整性。
1.非空约束:not null
1.1 创建表时添加约束
create table 表名(
id int,
name varchar(10) not null
);
1.2 创建表完后,添加非空约束
alter table 表名 modify name varchar(20) not null;
1.3 删除name的非空约束
alter table 表名 modify name varchar(20);
2.唯一约束:unique ,值不能存在重复的。在mysql中可以存在多个null;
2.1 创建表时添加唯一约束
create table 表名(
id int,
name varchar(10) unique
);
2.2 删除唯一约束
alter table 表名 drop index name;
2.3 在创建表后,添加唯一约束
alter table 表名 modify name varchar(20) unique;
3.主键约束:primary key
3.1 注意:
3.1.1 含义:非空且唯一
3.1.2 一张表只能有一个字段为主键
3.1.3 主键就是表中的唯一标识
3.2 在创建表是,添加主键约束
create table 表名(
id int primary key,
name varchar(10)
);
3.3 删除主键约束
alter table 表名 drop primary key;
3.4 创建表后,添加主键
alter table 表名 modify id int primary key;
3.5 自动增长:
1. 概念:如果某一列是数值类型的,使用auto_increment 可以完成值的自动增长
2. 在创建时添加主键约束,并完成主键自动增长
create table 表名(
id int primary key auto_increment,
name varchar(10)
);
-- 删除自动增长
alter table 表名 modify id int ;
-- 添加自动增长
alter table 表名 modify id int auto_increment;
4.外键约束:foreign key,让表与表产生关系,从而保证数据的正确性。
4.1 在创建表时,添加外键
create table 表名(
... ,
外键列 ,
constraint 外键名称 foreign key (外键列名称) references 主表名称(主表列名称)
);
4.2 删除外键
alter table 表名 drop foreign key 外键名称;
4.3 创建表后,添加外键
alter table 表名 add constraint 外键名称 foreign key (外键列名称) references 主表名称(主表列名称)