PostgreSQL(常简称为psql)是 PostgreSQL 数据库管理系统(DBMS)的命令行界面。在 PostgreSQL 中,有多种数据约束可用于确保数据的完整性和准确性。以下是一些常见的数据约束:
主键约束(PRIMARY KEY):
唯一约束(UNIQUE CONSTRAINT):
检查约束(CHECK CONSTRAINT):
外键约束(FOREIGN KEY CONSTRAINT):
非空约束(NOT NULL CONSTRAINT):
默认值约束(DEFAULT CONSTRAINT):
排他约束(EXCLUSIVE CONSTRAINT,PostgreSQL 中不存在,但可以通过触发器模拟):
检查排他约束(CHECK EXCLUSIVE CONSTRAINT,PostgreSQL 中不存在,但概念上类似于排他约束):
要创建这些约束,可以使用 PostgreSQL 的 ALTER TABLE
语句,结合相应的 ADD CONSTRAINT
子句。例如:
-- 创建一个主键约束
ALTER TABLE employees ADD CONSTRAINT pk_employee_id PRIMARY KEY (employee_id);
-- 创建一个唯一约束
ALTER TABLE employees ADD CONSTRAINT uk_email UNIQUE (email);
-- 创建一个检查约束
ALTER TABLE employees ADD CONSTRAINT chk_salary CHECK (salary > 0);
-- 创建一个外键约束
ALTER TABLE departments ADD CONSTRAINT fk_department_head FOREIGN KEY (head_id) REFERENCES employees(employee_id);
-- 创建一个非空约束
ALTER TABLE employees ALTER COLUMN name SET NOT NULL;
-- 创建一个默认值约束
ALTER TABLE employees ALTER COLUMN department SET DEFAULT 'Sales';
请注意,上述示例中的某些约束(如检查排他约束)在 PostgreSQL 中并不直接存在,但可以通过其他数据库功能(如触发器)来模拟实现。在实际应用中,应根据具体需求和 PostgreSQL 的功能选择合适的约束类型。