📅  最后修改于: 2023-12-03 15:07:58.354000             🧑  作者: Mango
在关系数据库中,一个表可以拥有多个约束。约束是用来确保数据的完整性和规范性的规则。在本文中,我们将介绍如何在单个表中添加多个约束。
约束是对表中数据进行限制或规范的规则。以下是常见的约束类型:
在 SQL 中,使用 ALTER TABLE 语句添加约束。以下是添加不同约束的语法:
ALTER TABLE table_name
ADD CONSTRAINT constraint_name PRIMARY KEY (column_name);
ALTER TABLE table_name
ADD CONSTRAINT constraint_name FOREIGN KEY (column_name)
REFERENCES reference_table(reference_column);
ALTER TABLE table_name
ADD CONSTRAINT constraint_name UNIQUE (column_name);
ALTER TABLE table_name
ADD CONSTRAINT constraint_name CHECK (condition);
需要注意的是,一张表中可以同时存在多个约束,每个约束都需要有一个唯一的名称。
以一个学生表和班级表的关联为例,我们可以在学生表中添加外键约束和检查约束:
CREATE TABLE class (
class_id INT PRIMARY KEY,
class_name VARCHAR(20) NOT NULL
);
CREATE TABLE student (
student_id INT PRIMARY KEY,
student_name VARCHAR(20) NOT NULL,
class_id INT,
score INT,
CONSTRAINT fk_class FOREIGN KEY (class_id) REFERENCES class(class_id),
CONSTRAINT check_score CHECK (score >= 0 AND score <= 100)
);
在上述示例中,学生表的外键约束指向班级表的主键,确保每个学生所在的班级存在;检查约束则确保学生的成绩在 0 到 100 分之间。
在一个表中添加多个约束可以确保数据的规范性和完整性,提高数据库的可靠性。常见的约束类型包括主键约束、外键约束、唯一约束和检查约束。在 SQL 中,使用 ALTER TABLE 语句可以添加约束。注意,每个约束需要有一个唯一的名称。