在SQL中,CHECK约束用于限制表中列的取值范围。它可以用于检查特定条件是否为真,并只允许满足条件的值插入到表中。
使用CHECK约束,可以在创建表时或者在修改表结构时添加。下面是使用CHECK约束的一些示例:
1. 创建表时添加CHECK约束:
```sql
CREATE TABLE students (
id INT,
name VARCHAR(100),
age INT,
grade CHAR(1),
CONSTRAINT check_age CHECK (age >= 0 AND age <= 120),
CONSTRAINT check_grade CHECK (grade IN ('A', 'B', 'C', 'D', 'F'))
);
```
在上述示例中,CHECK约束被用于限制`age`列的取值范围在0到120之间,并限制`grade`列只能取'A'、'B'、'C'、'D'或者'F'中的一个值。
2. 修改表结构时添加CHECK约束:
```sql
ALTER TABLE students
ADD CONSTRAINT check_age CHECK (age >= 0 AND age <= 120);
```
在上述示例中,CHECK约束被用于给已存在的表`students`添加一个限制条件,限制`age`列的取值范围在0到120之间。
无论是在创建表时还是在修改表结构时,使用CHECK约束都可以通过指定一个条件表达式来限制列的取值范围。如果插入或更新操作违反了CHECK约束的条件,将会抛出一个错误。