在PgSQL中,可以通过在CREATE TABLE语句中添加约束来设置表的约束。以下是一些常用的约束类型:
- PRIMARY KEY约束:用于指定表的主键字段,主键字段的值必须是唯一且非空的。
CREATE TABLE table_name ( id SERIAL PRIMARY KEY, name VARCHAR(50) NOT NULL, age INT );
- UNIQUE约束:用于确保某个字段的值是唯一的。
CREATE TABLE table_name ( id SERIAL PRIMARY KEY, name VARCHAR(50) UNIQUE, age INT );
- NOT NULL约束:用于确保某个字段的值不为空。
CREATE TABLE table_name ( id SERIAL PRIMARY KEY, name VARCHAR(50) NOT NULL, age INT );
- CHECK约束:用于定义某个字段的取值范围。
CREATE TABLE table_name ( id SERIAL PRIMARY KEY, name VARCHAR(50), age INT CHECK (age >= 18) );
- FOREIGN KEY约束:用于确保一个表的外键字段值存在于另一个表的主键字段中。
CREATE TABLE table1 ( id SERIAL PRIMARY KEY, name VARCHAR(50) ); CREATE TABLE table2 ( id SERIAL PRIMARY KEY, table1_id INT REFERENCES table1(id), value INT );
这些约束可以单独使用,也可以组合使用。在创建表时,可以根据需求添加不同类型的约束来确保数据的完整性和合法性。