如何用SQL添加完整性约束 
时间: 2023-05-28 14:01:45 浏览: 40
SQL中有三种添加完整性约束的方法:
1. 使用CREATE TABLE语句时添加约束
在CREATE TABLE语句中添加约束是最常用的方法,如下所示:
CREATE TABLE table_name (
column1 datatype constraint,
column2 datatype constraint,
...
);
其中,约束可以是以下类型之一:
- PRIMARY KEY:声明列或列组作为表的主键。
- FOREIGN KEY:声明列或列组作为外键,这些外键参照另一张表的主键。
- CHECK:声明列的取值必须符合指定的条件。
- UNIQUE:声明列或列组必须具有唯一的值。
示例:
CREATE TABLE employees (
id INT PRIMARY KEY,
first_name VARCHAR(50) NOT NULL,
last_name VARCHAR(50) NOT NULL,
email VARCHAR(50) NOT NULL UNIQUE,
department_id INT,
salary DECIMAL(18,2),
CONSTRAINT fk_department FOREIGN KEY (department_id)
REFERENCES departments (id),
CONSTRAINT chk_salary CHECK (salary > 0)
);
2. 使用ALTER TABLE语句添加约束
如果已经存在的表需要添加约束,则可以使用ALTER TABLE语句添加,如下所示:
ALTER TABLE table_name
ADD CONSTRAINT constraint_name constraint_type (column1, column2, ...);
示例:
ALTER TABLE employees
ADD CONSTRAINT chk_salary CHECK (salary > 0);
3. 使用WITH CHECK OPTION添加约束
如果想要确保插入的数据符合约束要求,则可以使用WITH CHECK OPTION添加约束,如下所示:
CREATE VIEW view_name AS
SELECT column1, column2, ...
FROM table_name
WHERE condition
WITH CHECK OPTION;
示例:
CREATE VIEW high_salary_employees AS
SELECT *
FROM employees
WHERE salary > 5000
WITH CHECK OPTION;
这将确保只有薪资大于5000的员工被插入到视图中。
相关推荐


















