在 PostgreSQL 中,约束(Constraints)用于定义表中数据的规则,确保数据的完整性和一致性。以下是一些常见的约束类型及其用法:

1. 主键约束(Primary Key Constraint):

主键是唯一标识表中每一行的字段,确保每一行都具有唯一的标识符。
CREATE TABLE example_table (
    id SERIAL PRIMARY KEY,
    name VARCHAR(50) NOT NULL
);

2. 唯一约束(Unique Constraint):

唯一约束确保列中的所有值都是唯一的。
CREATE TABLE example_table (
    email VARCHAR(100) UNIQUE,
    -- 其他列
);

3. 检查约束(Check Constraint):

检查约束用于定义插入或更新表中数据时必须满足的条件。
CREATE TABLE example_table (
    age INT CHECK (age >= 18),
    -- 其他列
);

4. 外键约束(Foreign Key Constraint):

外键约束定义了表与表之间的关系,确保引用表中的值存在于另一表的主键中。
CREATE TABLE orders (
    order_id SERIAL PRIMARY KEY,
    product_id INT REFERENCES products(product_id),
    -- 其他列
);

5. NOT NULL 约束:

NOT NULL 约束确保列中的值不为空。
CREATE TABLE example_table (
    name VARCHAR(50) NOT NULL,
    -- 其他列
);

添加和删除约束:

可以使用 ALTER TABLE 语句来添加或删除约束。
-- 添加唯一约束
ALTER TABLE example_table
ADD CONSTRAINT unique_email UNIQUE (email);

-- 删除唯一约束
ALTER TABLE example_table
DROP CONSTRAINT unique_email;

这只是约束的一些基本概念和示例。约束在数据库设计中是非常重要的,它们有助于维护数据的完整性,避免无效或不一致的数据。在实际应用中,根据具体的业务需求选择适当的约束非常重要。


转载请注明出处:http://www.zyzy.cn/article/detail/8124/PostgreSQL