温馨提示×

SQL CHECK约束表达式怎么写

sql
小亿
420
2023-10-12 11:49:39
栏目: 云计算

SQL CHECK约束用于限制列中的值必须满足指定的条件。CHECK约束可以在创建表时定义,也可以在修改表时添加。

CHECK约束的语法如下:

```sql
ALTER TABLE table_name
ADD CONSTRAINT constraint_name CHECK (condition);
```

其中,table_name是要添加约束的表名,constraint_name是约束的名称(可选),condition是一个逻辑表达式,用于定义该列的取值范围。

以下是一些CHECK约束的示例:

1. 限制age列的取值范围为18至65岁之间:
```sql
ALTER TABLE employees
ADD CONSTRAINT check_age CHECK (age >= 18 AND age <= 65);
```

2. 限制gender列的取值只能为'M'或'F':
```sql
ALTER TABLE employees
ADD CONSTRAINT check_gender CHECK (gender IN ('M', 'F'));
```

3. 限制salary列的取值不能为负数:
```sql
ALTER TABLE employees
ADD CONSTRAINT check_salary CHECK (salary >= 0);
```

4. 限制birth_date列的取值必须在'1980-01-01'和'2000-12-31'之间:
```sql
ALTER TABLE employees
ADD CONSTRAINT check_birth_date CHECK (birth_date >= '1980-01-01' AND birth_date <= '2000-12-31');
```

注意,CHECK约束只能应用于单个列,如果需要对多个列添加约束,可以使用UNIQUE约束或FOREIGN KEY约束。

0