本文介绍MySQL的5种约束条件。约束条件是在表和字段上强制执行的表的校验规则。使用约束条件可以保证表中数据的完整性和准确性,法制不规范的数据进入数据库。
约束条件
约束条件 | 说明 | 语法 |
---|---|---|
primary key | 主键约束 | 字段名 数据类型 primary key |
not null | 非空约束 | 字段名 数据类型 not null |
unique | 唯一约束 | 字段名 数据类型 unique |
auto_increment | 自动增长约束 | 字段名 数据类型 auto_increment |
default | 默认约束 | 字段名 数据类型 default |
1、主键约束
作为主键的字段,其取值不能为空,也不可以重复,并且一个表中只能有一个主键,但是构成主键的字段可以是一个也可以是多个。也就是说,主键只能有一个,但是一个主键可以由多个字段构成,当多个字段的取值完全一样时会违反主键约束。
(1)单字段主键约束
创建单字段主键约束示例代码如下:
create table dept( |
(2)多字段主键约束
如果主键是由两个不同的字段组合而成的复合主键,那么主键约束就要卸载所有定义好的字段的最后一行。
创建多字段主键的约束示例代码如下:
create table dept( |
2、唯一约束
唯一约束要求该列的值必须是唯一的,也就是不能出现重复值。允许为null,但只能出现一个空值,一个表中可以由多个字段声明为唯一的,以确保数据表的一列或几列不出现重复值。
(1)创建唯一约束
创建唯一约束的示例代码如下:
create table dept( |
(2)删除唯一约束
删除唯一约束的示例代码:
alter table dept drop index depname; |
3、自动增长约束
自动增长约束要求指定字段的数据取值自动增长,默认从1开始,每增加一条,这个字段的记录就会加1,所以它只适用于正数的数值型字段。一个表只能有一个自动增长字段,且必须为主键一部分,因此自动增长的约束也是辨别表中主键的重要标志之一。
(1)创建自动增长约束
创建自动增长约束示例代码如下:
create table department ( |
(2)删除自动增长约束
删除自动增长约束示例代码如下:
alter table department modify depid int; |
4、非空约束
非空约束要求字段的值不能为空值。
(1)创建非空约束
创建非空约束示例代码如下:
create table dept( |
(2)删除非空约束
删除非空约束示例代码如下:
alter table dept modify peoplecount int; |
5、默认约束
默认约束指定某个字段的默认值,当插入记录时,如果没有明确为字段赋值,那么系统就会自动为这个字段赋值为默认约束设定的值。
(1)创建默认约束
创建默认约束示例代码如下:
create table dept( |
(2)删除默认约束
删除默认约束示例代码如下:
alter table dept modify peoplecount int; |