MySQL中“约束(constraint)”操作语法结构及应用场景

MySQL中“约束(constraint)”操作语法结构及应用场景:1.概念针对表中的数据,进行额外的限制,就称为约束。2.约束的分类:2.1 角度一:从功能上分:not null 非空约束unique 唯一性约束primary key 主键约束foreign key 外键约束check 检查约束default 默认值约束2.2 角度二:约束的作用范围、声明位置列级约束 VS 表级约束2.3 角度三:从约束的作用的列的个数:单列约束 VS 多列约束-----
摘要由CSDN通过智能技术生成

MySQL中“约束(constraint)”操作语法结构及应用场景:

1.概念

针对表中的数据,进行额外的限制,就称为约束。

2.

约束的分类:
2.1 角度一:从功能上分:
not null 非空约束
unique 唯一性约束
primary key 主键约束
foreign key 外键约束
check 检查约束
default 默认值约束

2.2 角度二:约束的作用范围、声明位置
列级约束 VS 表级约束

2.3 角度三:从约束的作用的列的个数:
单列约束 VS 多列约束

---------------------------------------(分割线)------------------------------------

3.

如何使用约束:
情况一: 在create table 时,与创建表的字段同时执行。
情况二: 在alter table 时,对约束进行操作:添加约束、删除约束。

---------------------------------------(分割线)------------------------------------

4.

not null : 非空约束
说明: not null 约束只能只用列级约束来定义
我们新建一个emp2表作为研究对象,代码如下:

CREATE TABLE emp2(
id INT NOT NULL,  # 列级约束(一次性约束一列)
emp_name VARCHAR(15) NOT NULL,  # 列级约束
salary DOUBLE(10,2),
email VARCHAR(26)
);

备注:以上代码中,我们通过 NOT NULLidemp_name 行进了非空约束。此时,表 emp2 的id列和emp_name 列被声明了非空约束,在添加数据的时候,这两列不能为空。

我们测试一下这里的非空约束:
1.在有约束的情况下,给表格添加数据的正确操作

INSERT INTO emp2(id,emp_name,salary,email)
VALUES(1,'Tom',6000,'Tom@163.com');

我们通过查询语句来查询一下此时的表格数据,查询结果如下:
在这里插入图片描述
通过查询结果说明以上的添加操作成功。

++++++++++++++++(分割线)+++++++++++++++++

在有约束的情况下,添加的错误操作类型1(有添加了非空约束的字段被给了空值)(在添加数据的时候定义了被非空约束的相关字段)

INSERT INTO emp2(id,emp_name,salary,email)
VALUES(NULL,'Tom',6000,'Tom@163.com');

++++++++++++++++(分割线)+++++++++++++++++

在有约束的情况下,添加的错误操作类型2(有添加了非空约束的字段被给了空值)(在添加数据的时候没有定义被非空约束的相关字段)

INSERT INTO emp2(id,salary,email)
VALUES(1,6000,'Tom@163.com');

&&&&&&&&&&&&(分割线)&&&&&&&&&&&&&

接下来,我们介绍一下,如何删除非空约束(其实是一种对约束的修改)
举例:将emp2 表中字段id由非空约束 not null 改为可以为空,参考代码如下:

ALTER TABLE emp2
MODIFY id INT NULL;

此时,我们在添加数据的时候,字段 id 对应的数据是可以为空的,例如:

INSERT INTO emp2(id,emp_name,salary,email)
VALUES(NULL,'Tom',6000,'Tom@163.com');

数据顺利添加成功,此时,我们通过查询语句来查询一下此时的表格数据,查询结果如下:
在这里插入图片描述
我们看到,此时,表id字段对应的数据出现了一个null,添加成功。

&&&&a

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值