表中字段约束的概念以及基本使用

1.约束的概念

所谓约束指的肯定就是某些限制,在数据库中,约束的是作用表中字段上的一个限制规则,用于限制存在在表中的数据,写入数据时必须满足表中字段的约束策略,否则将无法写入成功。

约束的目的是为了保证数据库中的数据的正确性、完整性、有效性、一致性等等。

约束有以下几种类型:

约束是作用于表中的字段的,是在创建表、修改表的时候添加约束。

2.使用约束的命令格式

1)主键约束

字段 数据类型 PRIMARY KEY

2)唯一约束

字段 数据类型 UNIQUE

3)非空约束

字段 数据类型 NOT NULL

4)默认约束

字段 数据类型 DEFAULT '默认值'

5)检查约束

字段 数据类型 CHECK ( 条件1 && 条件2 )

3.创建一张数据表为表字段应用常见的约束

3.1.数据表的约束需求

该张数据表的约束条件如下,根据不同字段的不同约束,完成数据表的创建。

3.2.根据约束需求创建出数据表

create table erp_user (
	id int primary key auto_increment comment '主键id',
	xm varchar(10) not null unique comment '姓名',
	nl int check ( nl > 0 && nl <= 120 ) comment '年龄',
	zt char(1) default '1' comment '状态',
	xb char(1) comment '性别'
) comment '用户表'

3.2.在表中写入数据严重约束是否生效

1)验证id字段的主键约束

首先在表中写入2条数据,不指定id字段的数据,验证id字段是否会自动增长并且都是唯一的。

insert into erp_user (xm,nl,zt,xb) values('小明','19','1','男'),('小红','26','1','女');

数据写入成功,可以看到虽然没有指定id字段写入数据,但是我们对id字段设置了主键约束,因此数据写入后,id字段会自动增长并且还是唯一的。

第20讲:表中字段约束的概念以及基本使用-LMLPHP

2)验证xm字段的不为空、不允许重复的约束

我们在表中再写入一条数据,指定xm字段为null,观察效果。

insert into erp_user (xm,nl,zt,xb) values(null,'36','1','男');

当xm字段为null时,就提示我们写入失败了,并且返回说xm字段不允许为空。

第20讲:表中字段约束的概念以及基本使用-LMLPHP

然后我们再写入一条xm为小明的数据,验证姓名字段是否不为空。

insert into erp_user (xm,nl,zt,xb) values('小明','36','1','男');

此时依旧插入数据失败,并且提示我们说xm字段已经包含小明了,不允许插入。

第20讲:表中字段约束的概念以及基本使用-LMLPHP

3)验证nl字段的check检查约束

在前面指定nl字段的check条件为大于0并且小于120岁的数据,下面我们来插入一条年龄在0-120岁之间的数据,观察数据写入情况。

insert into erp_user (xm,nl,zt,xb) values('小江','88','1','男');

数据写入成功了,但是也会看到主键的ID不一样了,变成了,不应该是3吗,那是应为在前面验证数据唯一性时,数据虽然插入失败了,但是却向表中申请了一个主键。

第20讲:表中字段约束的概念以及基本使用-LMLPHP

现在在表中插入一条大于120岁的数据,观察写入效果。

insert into erp_user (xm,nl,zt,xb) values('小哦','129','1','男');

由于nl字段规定的条件就是0-120,超过120就认为违反条件了,此时就会拒绝写入,由于内容并不符合约束条件,因此不会去申请一个主键。

第20讲:表中字段约束的概念以及基本使用-LMLPHP

4)验证zt字段的默认值约束

向表中写入一条数据,不指定zt字段,观察写入效果。

insert into erp_user (xm,nl,xb) values('小花','21','男');

数据写入成功,当不指定zt字段时,应用默认约束,自动写入1。

第20讲:表中字段约束的概念以及基本使用-LMLPHP

09-23 14:49