MySQL表级完整性约束

MySQL表级完整性约束

为防止不符合规范的数据存入数据库,在用户对数据进行插入、修改、删除等操作时,MySQL提供
了一种机制来检查数据库是否满足规定的条件,以保证数据库中数据的准确性和一致性,这种机制
就是完整性约束。

MySQL中主要支持六种完整性约束,如表所示。
完整性约束
约束条件约束描述
PRIMARY KEY主键约束,约束的值可唯一的标识对应的记录
NOT NULL非空字段的值不能为空
UNIQUE唯一约束,约束1字段的值是唯一的
CHECK检查约束,限制某个字段的取值范围
DEFAULT默认值约束,约束字段的默认值
AUTO_INCREMENT自动增加位数,约束字段的值自动递增
FOREIGN KEY外键约束,约束与表之间的关系

 

 

 

 

 

 

 

 

 

约束从作用上可以分为两类:

(1) 表级约束:可以约束表中任意一个或多个字段。与列定义的相互独立,不包含
在列表定义中;与定义用‘,’分隔;必须指出要约束的列的名称;

(2) 列级约束:包含在列定义中,直接跟在该列的其他定义之后,用空格分隔,不必指定列名;

 

1、主键约束
主键约束(PRIMARY KEY,缩写PK),是数据库中最重要的一种约束,其作用是约束表中的某个字段可以
唯一标识一条记录。因此,使用主键约束可以快速查找表中的记录,就像人的身份证、学生的学号等等,
设置主键的字段取值不能重复(唯一),也不能为空(非空),否则无法唯一标识一条记录。

2、非空约束
非空约束(NOT NULL,缩写NK),规定一张表中指定的某个字段的值不能为空(NULL),设置了非空约束
的字段,在插入的数据为NULL时,数据库会提示错误,导致数据无法插入。
无论是单个字段还是多个字段非空约束的添加只能使用列级约束(非空约束无表级约束)

为已存在表中的字段添加非空约束

alter table student modify stu_sex varchar(1)not null;

使用ALTER TABLE语句删除非空约束

3、唯一约束:
唯一约束(UNIQUE,缩写QK):它规定了一张表中指定的某个字段的值不能重复,即这一字段的
每个值都是唯一的。如果想要某个字段的值不重复,那么就可以为该字段添加唯一约束。

4、检查约束
检查约束(CHECK)用来限制某个字段的取值范围,可以定义为列级约束,也可以定义为表级约束。
MySQL8开始检查表级约束

5、默认值约束
默认值约束(DEFAULT)用来规定字段的默认值。。如果某个被设置为DEFAULT约束的字段没插入具体指,
那么该字段的值将会被默认值填充。
默认值约束的设置与非空约束一样,也只能使用列级约束。

6、字段值自动增加约束
自增约束(AUTO_INCREMENT)可以使表中某个字段的值自动增加。一张表中只能有一个自增长字段,
并且该字段必须定义了约束(该约束可以使主键约束、唯一约束以及自增长约束),如果自增长字段没有
定义约束,数据库会提示错误。
由于自增约束会自动生成唯一的ID,所以自增约束通常会配合主键使用,并且只适用于数据整型。一般情
况下,设置自增约束字段的值会从1开始,每增加一条记录,该字段的值就加1.

为已存在表中的字段添加自增约束

create table stu(stu_id int(10) primary key,stu_name varchar(3),stu_sex varchar(1));

使用ALTER TABLE语句删除自增约束

alter table stu modify stu_id int(10);

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值