您的位置:MYSQL中文网 > sqlcheck约束表达式怎么写 SQL CHECK 约束

sqlcheck约束表达式怎么写 SQL CHECK 约束

2023-07-05 00:30 MySQL教程

sqlcheck约束表达式怎么写 SQL CHECK 约束

sqlcheck约束表达式怎么写

SQLCHECK约束表达式是一种用于检查数据库表中的数据是否符合特定规则的表达式。它可以帮助数据库管理员在存储和处理数据时,避免出现错误或不一致的情况。SQLCHECK约束表达式可以用于定义字段的最大值、最小值、长度、格式、唯一性、非空性以及其他多种要求。

SQLCHECK约束表达式的语法主要包括:CHECK(expression),NOT NULL,UNIQUE,PRIMARY KEY,FOREIGN KEY 和 DEFAULT。其中CHECK(expression)用于定义字段的最大值、最小值、长度、格式以及其他多种要求。NOT NULL 用于定义字段不能为NULL值。UNIQUE 用于定义字段不能重复。PRIMARY KEY 用于定义主键字段。FOREIGN KEY 用于定义外键字段。DEFAULT 用于定义字段的默认值。

-- 例如在创建一个含有 CHECK 约束的表时: 
CREATE TABLE table_name ( 
    column1 datatype [ NOT NULL | NULL ] [ CHECK ( expression ) ], 
    column2 datatype [ NOT NULL | NULL ] [ CHECK ( expression ) ], 
    ... 
); 

SQL CHECK 约束

SQL CHECK 约束


SQL CHECK 约束

CHECK 约束用于限制列中的值的范围。

如果对单个列定义 CHECK 约束,那么该列只允许特定的值。

如果对一个表定义 CHECK 约束,那么此约束会基于行中其他列的值在特定的列中对值进行限制。


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")
)


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")


撤销 CHECK 约束

如需撤销 CHECK 约束,请使用下面的 SQL:

SQL Server / Oracle / MS Access:

ALTER TABLE Persons
DROP CONSTRAINT chk_Person

MySQL:

ALTER TABLE Persons
DROP CHECK chk_Person
阅读全文
以上是MYSQL中文网为你收集整理的sqlcheck约束表达式怎么写 SQL CHECK 约束全部内容。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
相关文章
© 2024 MYSQL中文网 mysqlcn.com 版权所有 联系我们
桂ICP备12005667号-29 Powered by CMS