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约束。