欢迎来到 AI 中文社区(简称 AI 中文社),这里是学习交流 AI 人工智能技术的中文社区。 为了更好的体验,本站推荐使用 Chrome 浏览器。
全部教程·
数据库·
SQL
[目录]
·
SQL CHECK 约束
SQL 教程
SQL 语法
SQL 基础教程
SQL SELECT 语句 SQL DISTINCT 语句 SQL WHERE 语句 SQL AND OR 运算符 SQL ORDER BY 关键字 SQL INSERT 语句 SQL UPDATE 语句 SQL DELETE 语句 TOP, LIMIT, ROWNUM SQL LIKE 操作符 SQL 通配符 SQL IN 操作符 SQL BETWEEN 操作符SQL 高级教程
SQL 别名 SQL JOIN SQL INNER JOIN SQL LEFT JOIN SQL RIGHT JOIN FULL OUTER JOIN SQL UNION 操作符 SQL SELECT INTO INSERT INTO SELECT CREATE DATABASE CREATE TABLE SQL 约束 SQL NOT NULL 约束 SQL UNIQUE 约束 SQL PRIMARY KEY SQL FOREIGN KEY SQL CHECK 约束 SQL DEFAULT 约束 SQL CREATE INDEX SQL DROP 语句 SQL ALTER TABLE AUTO INCREMENT SQL VIEW SQL GROUP BY SQL HAVING 子句 SQL NULL 值 SQL 通用数据类型 SQL 特定数据类型SQL 函数
SQL 函数 SQL AVG() 函数 SQL COUNT() 函数 SQL FIRST() 函数 SQL LAST() 函数 SQL MAX() 函数 SQL MIN() 函数 SQL SUM() 函数 SQL EXISTS 函数 SQL UCASE() 函数 SQL LCASE() 函数 SQL MID() 函数 SQL LEN() 函数 SQL ROUND() 函数 SQL NOW() 函数 SQL FORMAT() 函数 SQL Date 函数 SQL NULL 函数
SQL 教程
SQL 语法
SQL 基础教程
SQL SELECT 语句 SQL DISTINCT 语句 SQL WHERE 语句 SQL AND OR 运算符 SQL ORDER BY 关键字 SQL INSERT 语句 SQL UPDATE 语句 SQL DELETE 语句 TOP, LIMIT, ROWNUM SQL LIKE 操作符 SQL 通配符 SQL IN 操作符 SQL BETWEEN 操作符SQL 高级教程
SQL 别名 SQL JOIN SQL INNER JOIN SQL LEFT JOIN SQL RIGHT JOIN FULL OUTER JOIN SQL UNION 操作符 SQL SELECT INTO INSERT INTO SELECT CREATE DATABASE CREATE TABLE SQL 约束 SQL NOT NULL 约束 SQL UNIQUE 约束 SQL PRIMARY KEY SQL FOREIGN KEY SQL CHECK 约束 SQL DEFAULT 约束 SQL CREATE INDEX SQL DROP 语句 SQL ALTER TABLE AUTO INCREMENT SQL VIEW SQL GROUP BY SQL HAVING 子句 SQL NULL 值 SQL 通用数据类型 SQL 特定数据类型SQL 函数
SQL 函数 SQL AVG() 函数 SQL COUNT() 函数 SQL FIRST() 函数 SQL LAST() 函数 SQL MAX() 函数 SQL MIN() 函数 SQL SUM() 函数 SQL EXISTS 函数 SQL UCASE() 函数 SQL LCASE() 函数 SQL MID() 函数 SQL LEN() 函数 SQL ROUND() 函数 SQL NOW() 函数 SQL FORMAT() 函数 SQL Date 函数 SQL NULL 函数SQL CHECK 约束
CHECK 约束用于限制列中的取值范围。
如果对单个列定义 CHECK 约束,那么该列只允许特定的值。
如果对一个表定义 CHECK 约束,那么此约束会基于行中其他列的值在特定的列中对值进行限制。
1. CREATE TABLE 时的 SQL CHECK 约束
下面的 SQL 在 "Persons" 表创建时在 "P_Id" 列上创建 CHECK 约束。CHECK 约束规定 "P_Id" 列必须只包含大于 0 的整数。
MySQL:
CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CHECK (P_Id>0)
)
SQL Server / Oracle / MS Access:
CREATE TABLE Persons
(
P_Id int NOT NULL CHECK (P_Id>0),
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)
如需命名 CHECK 约束,并定义多个列的 CHECK 约束,请使用下面的 SQL 语法:
MySQL / SQL Server / Oracle / MS Access:
CREATE TABLE Persons
(
P_Id int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CONSTRAINT chk_Person CHECK (P_Id>0 AND City='Sandnes')
)
2. ALTER TABLE 时的 SQL CHECK 约束
当表已被创建时,如需在 "P_Id" 列创建 CHECK 约束,请使用下面的 SQL:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ADD CHECK (P_Id>0)
如需命名 CHECK 约束,并定义多个列的 CHECK 约束,请使用下面的 SQL 语法:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ADD CONSTRAINT chk_Person CHECK (P_Id>0 AND City='Sandnes')
3. 撤销 CHECK 约束
如需撤销 CHECK 约束,请使用下面的 SQL:
SQL Server / Oracle / MS Access:
ALTER TABLE Persons
DROP CONSTRAINT chk_Person
MySQL:
ALTER TABLE Persons
DROP CHECK chk_Person
下一章:SQL DEFAULT 约束
DEFAULT 约束用于向列中插入默认值。如果没有规定其他的值,那么会将默认值添加到所有的新记录。CREATE TABLE 时可以创建 DEFAULT 约束。
AI 中文社