SQL学习之check约束
目录
- 参考源
- SQL check 约束
- 示例数据
- create table 添加 check 约束
- 多个字段添加约束
- 给 check 约束命名
- alter table 时的 SQL check 约束
- 删除 check 约束
- SQL Server / Oracle / MS Access
- MySQL
- 建议
参考源
- 简单教程
- https://www.twle.cn/l/yufei/sql/sql-basic-check.html
- 菜鸟教程
- https://www.runoob.com/sql/sql-check.html
SQL check 约束
SQL check
约束用于限制列中的值的范围
check
约束既可以用于某一列也可以用于某张表:
- 如果对单个列定义 CHECK 约束,那么该列只允许特定的值
- 如果对一个表定义 CHECK 约束,那么此约束会基于行中其他列的值在特定的列中对值进行限制
示例数据
CREATE DATABASE IF NOT EXISTS hardy_db default character set utf8mb4 collate utf8mb4_0900_ai_ci;USE hardy_db;DROP TABLE IF EXISTS lesson;
create table 添加 check 约束
创建表结构时可以使用 check
关键字给表或者字段添加 check
约束
例如在创建 lession 表时可以给 id 字段加上一个大于 0 的 约束
MySQLCREATE TABLE lesson (id int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,name varchar(32) default '',views int(11) NOT NULL default '0',created_at DATETIME,CHECK ( id > 0 ) );
SQL Server / Oracle / MS Access
CREATE TABLE lesson (id int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT CHECK ( id>0 ),name varchar(32) default '',views int(11) NOT NULL default '0',created_at DATETIME );
多个字段添加约束
如果想给一个表中多个字段添加约束,直接在check
关键字后的括号内添加,每个约束使用 and
连接
CREATE TABLE lesson (id int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,name varchar(32) default '',views int(11) NOT NULL default '0',created_at DATETIME,CHECK ( id >0 AND views >= 0 );
);
给 check 约束命名
CREATE TABLE lesson (id int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,name varchar(32) default '',views int(11) NOT NULL default '0',created_at DATETIME,CONSTRAINT chk_lesson_id CHECK ( id > 0 )
);
alter table 时的 SQL check 约束
ALTER TABLE lesson ADD CHECK (id>0);
命名
ALTER TABLE lesson ADD CONSTRAINT chk_lesson CHECK (id > 0 AND views >= 0);
删除 check 约束
如果想要删除 check
约束,可以使用 alter table ... drop
关键字
SQL Server / Oracle / MS Access
ALTER TABLE lesson DROP CONSTRAINT chk_lesson_id;
MySQL
ALTER TABLE lesson DROP CHECK chk_lesson_id
建议
虽然各个数据库系统都可以添加 check
约束,但不推荐这么做,因为这会影响数据插入和更新的速度
SQL学习之check约束相关推荐
- SQL语法之 CHECK 约束
SQL学习 学习SQL语法 SQL语法 SQL学习 SQL语法之 CHECK 约束 SQL CHECK Constraint on CREATE TABLE SQL CHECK Constraint ...
- sql学习-Constraints(约束)(primary key、 foreign key、check、default)
CONSTRAINTS 约束 介绍 SQL 约束用于规定表中的数据规则. 如果存在违反约束的数据行为,行为会被约束终止. 约束可以在创建表时规定(通过 CREATE TABLE 语句): 或者在表创建 ...
- oracle check 日期大于,sql – 出生日期的CHECK约束?
检查约束必须是确定性的.也就是说,特定行必须始终满足约束,否则它必须始终无法满足约束.但是,由于返回值不断变化,因此SYSDATE本质上是不确定的.因此,您无法定义调用SYSDATE或任何其他用户定义 ...
- 五、SQL–索引/约束④(check约束)
CHECK约束会: 检查输入到记录中的值是否满足一个条件,如果不满足这个条件则对数据库做的修改不会成功. 如,一个人的年龄是不可能为负数的,一个人的入学日期不可能早于出生日期,出厂月份不可能大于12. ...
- mysql代码check约束_CHECK约束(示例代码)
CHECK约束会检查输入到记录中的值是否满足一个条件,如果不满足这个条件则对数据库做的修改不会成功.比如,一个人的年龄是不可能为负数的,一个人的入学日期不可能早于出生日期,出厂月份不可能大于12.可以 ...
- Java面向对象系列[v1.0.0][SQL语法之数据库约束]
数据库约束 所有关系型数据库都支持对数据表使用约束,在表面上是强制执行的数据校验规则,通过约束可以更好的的保证数据表里数据的完整性 大部分数据库支持5中完整性约束 NOT NULL:非空约束,指定某列 ...
- 在SQL和ERWIN中用自定义类型、规则和默认值实现check约束从而保证数据的完整性...
========================================================= /*创建一个名为list的规则,这条规则表明变量只能取0和1两个值*/ CREATE ...
- SQL研习录(24)——CHECK约束
SQL研习录(24)--CHECK约束 版权声明 一.CHECK约束 1.基本语法 版权声明 本文原创作者:清风不渡 博客地址:https://blog.csdn.net/WXKKang 一.CHEC ...
- SQL CHECK 约束
SQL CHECK 约束 CHECK 约束用于限制列中的值得范围. 如果对单个定于的CHECK 约束,那么该列只允许特定的值. 如果对一个表定于CHECK 约束,那么此约束会基于行中其他列的值在特定的 ...
最新文章
- 漫谈Google Percolator分布式事务
- 归来吧,haproxy
- python经典案例-Python3经典100例(①)
- 重庆三峡学院计算机应用技术,重庆三峡学院 数学与计算机学院 刘福明老师简介 联系方式 手机电话 邮箱...
- Spring Boot——Spring Session Redis整合Spring Security时错误【RedisConnectionFactory is required】解决方案
- 从bsp redirect到ui5_ui5
- rabbitmqBat常用指令
- Go语言实战-nginx日志处理
- Python数据分析《黑客帝国》-一切都不是偶然
- [工具]TS 视频合并工具
- 时间的几种格式以及它们之间的相互转换 (js)
- linux上的smartsvn图形客户端,linux 下svn图形客户端smartsvn 安装
- 安卓TV应用 Hello Word - 怎样新建一个Android TV 项目
- 校园网使用家用无线路由器
- GDOI2021赛后总结高一赛季总结
- 你所不知的Redis三个特殊类型
- Day28 49. 丑数
- 2021全国电设(F题)openmv的图像识别之数字识别
- 学会如何从皮肤看身体状况
- Spring Security使用(三) 安全框架内使用QQ登录以及不加安全框架使用QQ登录
热门文章
- com.github.abel533.mapper插件使用报错,求助!!!
- Spring boot自定义拦截器和拦截器重定向配置简单介绍~!
- 算法导论笔记:12二叉搜索树
- Shopee大规模毁约offer,今年的大厂装都不装了
- Android实战技巧之四十 Android5 1 1源代码编译与烧写
- PY爬取2020年电影票房排行
- 安装QT5 出现错误 unkown type name ‘QApplication’ unkown type name ‘MainWindow’
- 虚拟机装的XP,无法上网,因为没有安装网卡驱动,怎么解决
- 一看就懂的JS抽象语法树
- 创业第一步做什么?——走出自己的“舒适区”