CONSTRAINT
时间: 2024-06-15 10:09:50 浏览: 105
CONSTRAINT是数据库中用于定义数据完整性规则的一种机制。它可以用来限制表中某个列的取值范围或者定义表之间的关系。常见的约束类型包括主键约束、外键约束、唯一约束和检查约束。
1. 主键约束(PRIMARY KEY):用于唯一标识表中的每一行数据。主键列的值必须唯一且不能为空。在创建表时,可以通过在列定义后面添加PRIMARY KEY关键字来定义主键约束。
2. 外键约束(FOREIGN KEY):用于定义表之间的关系。外键列的值必须在关联表的主键列中存在,或者为空(如果允许)。在创建表时,可以通过在列定义后面添加FOREIGN KEY关键字来定义外键约束。
3. 唯一约束(UNIQUE):用于确保列中的值是唯一的。唯一约束可以应用于一个或多个列。在创建表时,可以通过在列定义后面添加UNIQUE关键字来定义唯一约束。
4. 检查约束(CHECK):用于限制列中的值必须满足指定的条件。检查约束可以应用于一个或多个列。在创建表时,可以通过在列定义后面添加CHECK关键字来定义检查约束。
下面是一个示例,演示了如何在创建表时定义约束:
```sql
CREATE TABLE students (
id INT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
age INT CHECK (age >= 18),
department_id INT,
FOREIGN KEY (department_id) REFERENCES departments(id),
UNIQUE (name)
);
```
以上示例中,students表定义了主键约束(id列)、检查约束(age列必须大于等于18)、外键约束(department_id列参考departments表的id列)和唯一约束(name列的值必须唯一)。
阅读全文