6、检查约束(CHECK)
MySQL 检查约束(CHECK)是用来检查数据表中字段值有效性的一种手段,可以通过 CREATE TABLE
或 ALTER TABLE
语句实现。设置检查约束时要根据实际情况进行设置,这样能够减少无效数据的输入。
选取设置检查约束的字段
检查约束使用 CHECK 关键字,具体的语法格式如下:
CHECK <表达式>
其中,“表达式”指的就是 SQL 表达式,用于指定需要检查的限定条件。
若将 CHECK 约束子句置于表中某个列的定义之后,则这种约束也称为基于列的 CHECK 约束。
在更新表数据的时候,系统会检查更新后的数据行是否满足 CHECK 约束中的限定条件。MySQL 可以使用简单的表达式来实现 CHECK 约束,也允许使用复杂的表达式作为限定条件,例如在限定条件中加入子查询。
注意:若将 CHECK 约束子句置于所有列的定义以及主键约束和外键定义之后,则这种约束也称为基于表的 CHECK约束。该约束可以同时对表中多个列设置限定条件。
在创建表时设置检查约束
一般情况下,如果系统的表结构已经设计完成,那么在创建表时就可以为字段设置检查约束了。
创建表时设置检查约束的语法格式如下:
CHECK(<检查约束>)
例 1
在 test_db 数据库中创建 tb_emp7 数据表,要求 salary 字段值大于 0 且小于 10000,SQL 语句和运行结果如下所示。
mysql> CREATE TABLE tb_emp7-> (-> id INT(11) PRIMARY KEY,-> name VARCHAR(25),-> deptId INT(11),-> salary FLOAT,-> CHECK(salary>0 AND salary<100),-> FOREIGN KEY(deptId) REFERENCES tb_dept1(id)-> );
在修改表时添加检查约束
如果一个表创建完成,可以通过修改表的方式为表添加检查约束。
修改表时设置检查约束的语法格式如下:
ALTER TABLE tb_emp7 ADD CONSTRAINT <检查约束名> CHECK(<检查约束>)
例 2
修改 tb_emp7 数据表,要求 id 字段值大于 0,SQL 语句和运行结果如下所示。
mysql> ALTER TABLE tb_emp7-> ADD CONSTRAINT check_id-> CHECK(id>0);
删除检查约束
修改表时删除检查约束的语法格式如下:
ALTER TABLE <数据表名> DROP CONSTRAINT <检查约束名>;
例 3
删除 tb_emp7 表中的 check_id 检查约束,SQL 语句和运行结果如下所示:
mysql> ALTER TABLE tb_emp7-> DROP CONSTRAINT check_id;
6、检查约束(CHECK)相关推荐
- mysql的check约束怎么设置_MySQL检查约束(CHECK)
MySQL 检查约束(CHECK)是用来检查数据表中字段值有效性的一种手段,可以通过 CREATE TABLE 或 ALTER TABLE 语句实现.设置检查约束时要根据实际情况进行设置,这样能够减少 ...
- 数据库元数据数据字典查询_7_列出给定表的检查约束
列出给定表的检查约束 需求描述 需求:查询出给定的表emp的检查约束(check)信息. 解决方法:通过各个数据库里提供的与检查约束(check)相关的数据字典进行查询. 注: 数据库数据集SQL脚本 ...
- 数据的完整性(正确性和准确性):分类-实体完整性:主键约束、唯一约束、自动增长列。域完整性-非空约束、默认值约束、检查约束。引用完整性-一对一、一对多、多对多
文章目录 1 数据的完整性作用 2 完整性的分类 2.1 实体完整性 2.1.1 主键约束 primary key 2.1.2 唯一约束 unique 2.1.3 自动增长列 auto_increme ...
- MySQL检查约束(CHECK)
MySQL 检查约束(CHECK)可以通过 CREATE TABLE 或 ALTER TABLE 语句实现,根据用户实际的完整性要求来定义.它可以分别对列或表实施 CHECK 约束. 选取设置检查约束 ...
- MySQL 8.0 新特性之检查约束(CHECK)
文章目录 MySQL 8.0.15 之前 MySQL 8.0.16 之后 列级检查约束 表级检查约束 强制选项 检查约束限制 总结 大家好,我是只谈技术不剪发的 Tony 老师.这次我们来介绍一个 M ...
- 在SQL中检查约束-用MySQL和SQL Server语法示例解释
The CHECK constraint is used to limit the value range that can be placed in a column. CHECK约束用于限制可以放 ...
- Oracle数据库:约束条件:主键约束、唯一约束、检查约束、非空约束、外键约束、默认值填写
Oracle数据库:约束条件:主键约束.唯一约束.检查约束.非空约束.外键约束.默认值填写 2022找工作是学历.能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得去找开发,测开 测开 ...
- SQL Server中的六种约束:主键约束,外键约束,唯一约束,非空约束,检查约束,默认约束
什么是约束? 数据库-由若干张数据表组成(理解为一个类库) 数据表-由行和列组成的一个二维数组(理解为一个类) 列-字段(理解为表中对象的一个属性) 行-理解为表中的一个对象 约束是数据库中保证数据完 ...
- ORACLE- check 检查约束
1.检查约束(check) 某列取值范围限制.格式限制等 格式:check(字段名 like '约束条件') 或者 check(regexp_like(字段名,'约束条件')) 2.实战演练 1.检 ...
最新文章
- oracle11g安装中的问题
- java开发支持类库
- day15:磁盘格式化和挂载
- 分割view窗口不响应onmousewheel_什么是响应者链?ios面试攻克篇(三)
- Maven settings.xml
- Graphviz样例之有向图
- Win10升级到最新版本
- 计算机原理考研题库,东北大学计算机组成原理题库(9)
- 通过更改cmake的源码实现使用代理的下载命令
- 根文件系统的作用 VSF的作用 Linux系统结构详解 加载内核映像和根文件系统映像
- vue中使用vue-baidu-map 实现点 弹窗 路线 行政区划分
- button 和 input 的submit ,reset的区别
- 初步探索python
- pc游戏平台_如何提高您在PC游戏中的目标
- 奇点云数据中台技术汇(四)| DataSimba系列之流式计算
- Unreal4 入门(安装)
- 学霸 帝国理工 本科 计算机,帝国理工和剑桥计算机的offer,该去哪个?
- Putty登陆root输入密码被拒绝(没开启ssh)
- html如何实现在线客服,在线客服.html
- 西电智科图像理解与计算机视觉复习笔记(基本完结)
热门文章
- ​​​​​​​CV:利用cv2(加载人脸识别xml文件及detectMultiScale函数得到人脸列表)+keras的load_model(加载表情hdf5、性别hdf5)并标注
- 在浏览器地址栏中输入URL后发生了什么
- Hive的union和join操作
- java ssh 常用术语
- C#类型反射、晚期绑定、特性编程的使用背景与分析
- pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='f 的解决办法
- Bluetooth ATT介绍
- EOS 源代码解读 (2)插件-插件模板
- C++(八)——文件操作
- 最长递增子序列 最长连续递增序列