网站首页 > 知识剖析 正文
今天是日更的 54/365 天
大家好,我是阿常,上一篇阿常讲了《数据库 SQL 约束之 FOREIGN KEY》,今天阿常和大家分享《数据库 SQL 约束之 CHECK》。
SQL 约束的定义
SQL 约束用于规定表中的数据规则。如果存在违反约束的数据行为,行为会被约束终止。
约束可以在创建表时规定(通过 CREATE TABLE 语句),或者在表创建之后规定(通过 ALTER TABLE 语句)。
SQL CHECK 约束
CHECK 约束用于限制列中的值的范围。
如果对单个列定义 CHECK 约束,那么该列只允许特定的值。
如果对一个表定义 CHECK 约束,那么此约束会基于行中其他列的值在特定的列中对值进行限制。
一)CREATE TABLE 时的 SQL CHECK 约束
1、定义单个列的 CHECK 约束
实例
CREATE TABLE student
(
IID int NOT NULL,
name varchar(255) NOT NULL,
sex varchar(255),
age varchar(255),
country varchar(255),
CHECK(ID>0)
)
2、定义多个列的 CHECK 约束
实例
CREATE TABLE student
(
ID int NOT NULL,
name varchar(255) NOT NULL,
sex varchar(255),
age varchar(255),
country varchar(255),
CONSTRAINT chk_Person CHECK(ID>0 AND country='CN')
)
二)ALTER TABLE 时的 SQL CHECK 约束
1、当表已被创建,定义单个列的 CHECK 约束
实例
ALTER TABLE student
ADD CHECK(ID);
2、当表已被创建,定义多个列的 CHECK 约束
实例
ALTER TABLE student
ADD CONSTRAINT chk_Person
CHECK(ID>0 AND country='CN');
三)撤销 CHECK 约束
实例
ALTER TABLE student
DROP CHECK chk_Person;
至此,数据库 SQL CHECK(检查) 约束就讲完啦,下一篇讲《数据库 SQL DEFAULT(默认) 约束》。
- 上一篇: 创建一个简单购物网站数据库的步骤
- 下一篇: 如何实现数据库的快速自动化同步:详细实现方案与步骤
猜你喜欢
- 2025-05-09 如何用DEEPSEEK开发网站-3:数据表建立
- 2025-05-09 MySQL常用命令汇总(mysql常用命令都有哪些)
- 2025-05-09 基于RocksDB编写一个简单的SQL数据库|得物技术
- 2025-05-09 Node.js 学习笔记:使用数据库(nodejs可以直接操作数据库)
- 2025-05-09 oracle用户创建及权限设置(oracle创建用户权限不足)
- 2025-05-09 一款Web3原生数据库:Tableland(web版数据库管理工具)
- 2025-05-09 结合换手率、MACD和均线系统的综合分析框架的策略实现
- 2025-05-09 使用PHP创建MySQL数据库和表格(使用php进行mysql数据库编程的基本步骤)
- 2025-05-09 面试官问:MySQL锁与事物隔离级别你知道吗?
- 2025-05-09 ORACLE 体系 - 12(上)(oracle系统)
- 06-30美国食品标签上的含义(美国食品标志)
- 06-305G 网络如何进行系统消息更新(5g系统升级)
- 06-30如何使用Bulk Product Update批量产品更新将产品信息提交给SAGE
- 06-30什么是VLAN? VLAN基本原理(什么是vlan 其作用是什么)
- 06-30隧道人员定位投屏操作说明(隧道人员定位系统)
- 06-30Grafana可视化平台面板之Gauge仪表和Bar Gauge条形仪表
- 06-30Web Components实践:如何搭建一个框架无关的AI组件库
- 06-30Dify「模板转换」节点终极指南:动态文本生成进阶技巧(附代码)Jinja2引擎解析|6大应用场景实战
- 最近发表
-
- 美国食品标签上的含义(美国食品标志)
- 5G 网络如何进行系统消息更新(5g系统升级)
- 如何使用Bulk Product Update批量产品更新将产品信息提交给SAGE
- 什么是VLAN? VLAN基本原理(什么是vlan 其作用是什么)
- 隧道人员定位投屏操作说明(隧道人员定位系统)
- Grafana可视化平台面板之Gauge仪表和Bar Gauge条形仪表
- Web Components实践:如何搭建一个框架无关的AI组件库
- Dify「模板转换」节点终极指南:动态文本生成进阶技巧(附代码)Jinja2引擎解析|6大应用场景实战
- 为警示“勇闯51区”的年轻人,美军方推特这个玩笑砸了自己的脚
- 威纶通触摸屏与西门子1200通讯符号寻址时,如何导入标签?
- 标签列表
-
- xml (46)
- css animation (57)
- array_slice (60)
- htmlspecialchars (54)
- position: absolute (54)
- datediff函数 (47)
- array_pop (49)
- jsmap (52)
- toggleclass (43)
- console.time (63)
- .sql (41)
- ahref (40)
- js json.parse (59)
- html复选框 (60)
- css 透明 (44)
- css 颜色 (47)
- php replace (41)
- css nth-child (48)
- min-height (40)
- xml schema (44)
- css 最后一个元素 (46)
- location.origin (44)
- table border (49)
- html tr (40)
- video controls (49)