列约束和行约束的表如何建立
时间: 2024-03-19 21:43:30 浏览: 20
在数据库中,列约束和行约束是用于限制表中数据的约束条件。列约束是针对某一列的约束条件,而行约束是针对整个表中的数据行的约束条件。以下是一个示例,演示如何创建一个同时包含列约束和行约束的表。
```
CREATE TABLE students (
id INT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
age INT CHECK (age >= 18 AND age <= 30),
gender VARCHAR(10) CHECK (gender IN ('男', '女')),
address VARCHAR(100),
class_id INT,
FOREIGN KEY(class_id) REFERENCES classes(id),
UNIQUE(name, class_id)
);
```
上面的代码创建了一个名为 `students` 的表,包含了 6 个字段,分别是 `id`、`name`、`age`、`gender`、`address` 和 `class_id`。其中,`id` 字段是主键,`name` 字段为必填项,`age` 字段和 `gender` 字段都有列约束,分别限制了年龄在 18 到 30 之间以及性别只能为男或女,`class_id` 字段为外键,参考了另一个表 `classes` 中的 `id` 字段。此外,`UNIQUE(name, class_id)` 设置了一个行约束,确保在整个表中,`name` 和 `class_id` 字段的组合是唯一的。这个表可以通过 SQL 语句进行增删改查操作,同时满足列约束和行约束的限制条件。