MySQL 教程

MySQL 教程 MySQL 简介 MySQL 管理系统

MySQL SQL 语句

MySQL SQL MySQL SELECT MySQL WHERE MySQL AND, OR, NOT MySQL ORDER BY MySQL INSERT INTO MySQL NULL Values MySQL UPDATE MySQL DELETE MySQL LIMIT MySQL MIN 和 MAX MySQL COUNT, AVG, SUM MySQL LIKE MySQL 通配符 MySQL IN MySQL BETWEEN MySQL 别名 MySQL 联接 MySQL INNER JOIN MySQL LEFT JOIN MySQL RIGHT JOIN MySQL CROSS JOIN MySQL 自联接 MySQL UNION MySQL GROUP BY MySQL HAVING MySQL EXISTS MySQL ANY, ALL MySQL INSERT SELECT MySQL CASE MySQL Null 函数 MySQL 注释 MySQL 运算符

MySQL 数据库

MySQL 创建数据库 MySQL 删除数据库 MySQL 创建表 MySQL 删除表 MySQL 更改表 MySQL 约束 MySQL Not Null MySQL Unique MySQL Primary Key MySQL Foreign Key MySQL Check MySQL Default MySQL Create Index MySQL 自动增量 MySQL 日期 MySQL 视图

MySQL 参考手册

MySQL 数据类型 MySQL 函数

MySQL 实例

MySQL 实例 MySQL 测验 MySQL 练习


MySQL CHECK 约束

MySQL CHECK 约束

CHECK 约束用于限制列中可以放置的值范围。

如果您在列上定义 CHECK 约束,它将只允许该列的某些值。

如果您在表上定义 CHECK 约束,它可以根据行中其他列中的值来限制某些列中的值。


建表时创建 CHECK 约束

以下 SQL 在创建 "Persons" 表时在 "Age" 列上创建 CHECK 约束。 CHECK 约束确保一个人的年龄必须是 18 岁或以上:

CREATE TABLE Persons (
    ID int NOT NULL,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int,
    CHECK (Age>=18)
);

要允许命名 CHECK 约束,并在多个列上定义 CHECK 约束,请使用 以下 SQL 语法:

CREATE TABLE Persons (
    ID int NOT NULL,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int,
    City varchar(255),
    CONSTRAINT CHK_Person CHECK (Age>=18 AND City='Sandnes')
);


CHECK ALTER TABLE

要在已创建的表 "Age" 列上创建 CHECK 约束,请使用以下 SQL:

ALTER TABLE Persons
ADD CHECK (Age>=18);

要允许命名 CHECK 约束,并在多个列上定义 CHECK 约束,请使用 以下 SQL 语法:

ALTER TABLE Persons
ADD CONSTRAINT CHK_PersonAge CHECK (Age>=18 AND City='Sandnes');

DROP CHECK

要删除 CHECK 约束,请使用以下 SQL:

ALTER TABLE Persons
DROP CHECK CHK_PersonAge;