MySQL 检查约束(CHECK)是用来检查数据表中字段值有效性的一种手段,可以通过 CREATE TABLEALTER 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)相关推荐

  1. mysql的check约束怎么设置_MySQL检查约束(CHECK)

    MySQL 检查约束(CHECK)是用来检查数据表中字段值有效性的一种手段,可以通过 CREATE TABLE 或 ALTER TABLE 语句实现.设置检查约束时要根据实际情况进行设置,这样能够减少 ...

  2. 数据库元数据数据字典查询_7_列出给定表的检查约束

    列出给定表的检查约束 需求描述 需求:查询出给定的表emp的检查约束(check)信息. 解决方法:通过各个数据库里提供的与检查约束(check)相关的数据字典进行查询. 注: 数据库数据集SQL脚本 ...

  3. 数据的完整性(正确性和准确性):分类-实体完整性:主键约束、唯一约束、自动增长列。域完整性-非空约束、默认值约束、检查约束。引用完整性-一对一、一对多、多对多

    文章目录 1 数据的完整性作用 2 完整性的分类 2.1 实体完整性 2.1.1 主键约束 primary key 2.1.2 唯一约束 unique 2.1.3 自动增长列 auto_increme ...

  4. MySQL检查约束(CHECK)

    MySQL 检查约束(CHECK)可以通过 CREATE TABLE 或 ALTER TABLE 语句实现,根据用户实际的完整性要求来定义.它可以分别对列或表实施 CHECK 约束. 选取设置检查约束 ...

  5. MySQL 8.0 新特性之检查约束(CHECK)

    文章目录 MySQL 8.0.15 之前 MySQL 8.0.16 之后 列级检查约束 表级检查约束 强制选项 检查约束限制 总结 大家好,我是只谈技术不剪发的 Tony 老师.这次我们来介绍一个 M ...

  6. 在SQL中检查约束-用MySQL和SQL Server语法示例解释

    The CHECK constraint is used to limit the value range that can be placed in a column. CHECK约束用于限制可以放 ...

  7. Oracle数据库:约束条件:主键约束、唯一约束、检查约束、非空约束、外键约束、默认值填写

    Oracle数据库:约束条件:主键约束.唯一约束.检查约束.非空约束.外键约束.默认值填写 2022找工作是学历.能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得去找开发,测开 测开 ...

  8. SQL Server中的六种约束:主键约束,外键约束,唯一约束,非空约束,检查约束,默认约束

    什么是约束? 数据库-由若干张数据表组成(理解为一个类库) 数据表-由行和列组成的一个二维数组(理解为一个类) 列-字段(理解为表中对象的一个属性) 行-理解为表中的一个对象 约束是数据库中保证数据完 ...

  9. ORACLE- check 检查约束

    1.检查约束(check) 某列取值范围限制.格式限制等 格式:check(字段名 like '约束条件')  或者 check(regexp_like(字段名,'约束条件')) 2.实战演练 1.检 ...

最新文章

  1. oracle11g安装中的问题
  2. java开发支持类库
  3. day15:磁盘格式化和挂载
  4. 分割view窗口不响应onmousewheel_什么是响应者链?ios面试攻克篇(三)
  5. Maven settings.xml
  6. Graphviz样例之有向图
  7. Win10升级到最新版本
  8. 计算机原理考研题库,东北大学计算机组成原理题库(9)
  9. 通过更改cmake的源码实现使用代理的下载命令
  10. 根文件系统的作用 VSF的作用 Linux系统结构详解 加载内核映像和根文件系统映像
  11. vue中使用vue-baidu-map 实现点 弹窗 路线 行政区划分
  12. button 和 input 的submit ,reset的区别
  13. 初步探索python
  14. pc游戏平台_如何提高您在PC游戏中的目标
  15. 奇点云数据中台技术汇(四)| DataSimba系列之流式计算
  16. Unreal4 入门(安装)
  17. 学霸 帝国理工 本科 计算机,帝国理工和剑桥计算机的offer,该去哪个?
  18. Putty登陆root输入密码被拒绝(没开启ssh)
  19. html如何实现在线客服,在线客服.html
  20. 西电智科图像理解与计算机视觉复习笔记(基本完结)

热门文章

  1. ​​​​​​​CV:利用cv2(加载人脸识别xml文件及detectMultiScale函数得到人脸列表)+keras的load_model(加载表情hdf5、性别hdf5)并标注
  2. 在浏览器地址栏中输入URL后发生了什么
  3. Hive的union和join操作
  4. java ssh 常用术语
  5. C#类型反射、晚期绑定、特性编程的使用背景与分析
  6. pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='f 的解决办法
  7. Bluetooth ATT介绍
  8. EOS 源代码解读 (2)插件-插件模板
  9. C++(八)——文件操作
  10. 最长递增子序列 最长连续递增序列