目录
一.常见的约束
非空约束
唯一约束
主键约束
外键约束
二.非空约束
not null约束定义了表中的数据行的特定列是否可以为null
1.添加非空约束
创建表时添加
create table 表名(字段名 字段类型......)not null;
修改表中该字段数据类型时添加
alter table 表名 modify 字段名 新数据类型 not null;
2.删除非空约束
修改表中该字段数据类型时删除
alter table 表名 change column 字段名 新数据类型;
alter table 表名 modify 字段名 新数据类型;
三.唯一性约束
unique约束确保表中一列或多列的组合值具有唯一性,防止输入重复值,主要用于保证非主键列的实体完整性。
1.添加唯一性约束
1.1.直接add
1.1.1表级约束
alter table 表名 add unique(字段名);
1.1.2联合唯一性约束
alter table 表名 add unique(字段名1,字段名2);
字段名1与字段名2的组合具有唯一性
比如代码中:同一个班级里不能有同一个id;
2.删除
alter table 表名 drop index 字段名;
四.主键约束
一个表中,只能有一个主键。一个主键可以由一个或多个列构成。
主键约束相当于唯一性与非空约束的组合
对一个字段既添加唯一性约束,又添加非空约束
1.添加约束
创建时添加主键约束
create table 表名(字段名 字段类型 primary key,......)
alter table时添加
alter table 表名 add primary key(字段名);
2.删除主键
alter table 表名 drop primary key;
五.默认值约束
创建时添加
create table 表名(字段名 字段类型 default 默认值);
修改时
alter table 表名 modify 字段名 字段类型 default 默认值;
删除
六.自增长约束
自增长列必须是主键列
如果自增列指定0和null,会在当前最大值的基础上自增
如果自增列手动指定了具体值,直接赋值为具体值
创建表时
create table 表名(字段名 字段类型 primary key auto_increment);
修改表的某个字段的数据类型时
alter table 表名 modify 字段名 字段类型 auto_increment;
七.检查约束
检查某字段是否符合要求
alter table 表名 add check(字段名 between 最小 and 最大);