PgSQL創(chuàng)建表時(shí)如何設(shè)置約束

小樊
116
2024-07-11 12:12:35
欄目: 云計(jì)算

在PgSQL中,可以通過(guò)在CREATE TABLE語(yǔ)句中添加約束來(lái)設(shè)置表的約束。以下是一些常用的約束類型:

  1. PRIMARY KEY約束:用于指定表的主鍵字段,主鍵字段的值必須是唯一且非空的。
CREATE TABLE table_name (
   id SERIAL PRIMARY KEY,
   name VARCHAR(50) NOT NULL,
   age INT
);
  1. UNIQUE約束:用于確保某個(gè)字段的值是唯一的。
CREATE TABLE table_name (
   id SERIAL PRIMARY KEY,
   name VARCHAR(50) UNIQUE,
   age INT
);
  1. NOT NULL約束:用于確保某個(gè)字段的值不為空。
CREATE TABLE table_name (
   id SERIAL PRIMARY KEY,
   name VARCHAR(50) NOT NULL,
   age INT
);
  1. CHECK約束:用于定義某個(gè)字段的取值范圍。
CREATE TABLE table_name (
   id SERIAL PRIMARY KEY,
   name VARCHAR(50),
   age INT CHECK (age >= 18)
);
  1. FOREIGN KEY約束:用于確保一個(gè)表的外鍵字段值存在于另一個(gè)表的主鍵字段中。
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
);

這些約束可以單獨(dú)使用,也可以組合使用。在創(chuàng)建表時(shí),可以根據(jù)需求添加不同類型的約束來(lái)確保數(shù)據(jù)的完整性和合法性。

0