温馨提示×

数据库check约束如何写

小亿
205
2024-01-23 14:41:26
栏目: 编程语言

数据库中,可以使用CHECK约束来限制列中的值。CHECK约束定义了一些条件,当插入或更新行时必须满足这些条件。

CHECK约束的语法如下:

CREATE TABLE table_name (

    column_name data_type CONSTRAINT constraint_name CHECK (condition)

);

其中,table_name是表名,column_name是列名,data_type是列的数据类型,constraint_name是约束的名称,condition是满足约束的条件。

下面是一些示例:

  1. 限制列中的值必须大于0:

CREATE TABLE employees (

    id INT,

    salary DECIMAL CONSTRAINT check_salary CHECK (salary > 0)

);

  1. 限制列中的值必须在指定的范围内:

CREATE TABLE students (

    id INT,

    age INT CONSTRAINT check_age CHECK (age >= 18 AND age <= 25)

);

  1. 限制列中的值必须满足某些正则表达式:

CREATE TABLE emails (

    id INT,

    email VARCHAR(255) CONSTRAINT check_email CHECK (email ~* &#x27;^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$&#x27;)

);

  1. 限制列中的值必须满足其他列之间的关系:

CREATE TABLE orders (

    id INT,

    total_amount DECIMAL,

    discount DECIMAL CONSTRAINT check_discount CHECK (discount >= 0 AND discount <= total_amount)

);

以上是一些常见的CHECK约束的示例,你可以根据具体的需求自定义更多的约束条件。

0