PostgreSQL - 建立表



PostgreSQL 的 CREATE TABLE 語句用於在任何給定的資料庫中建立一個新表。

語法

CREATE TABLE 語句的基本語法如下:

CREATE TABLE table_name(
   column1 datatype,
   column2 datatype,
   column3 datatype,
   .....
   columnN datatype,
   PRIMARY KEY( one or more columns )
);

CREATE TABLE 是一個關鍵字,告訴資料庫系統建立一個新表。表名或識別符號緊跟在 CREATE TABLE 語句之後。最初,當前資料庫中的空表由發出命令的使用者擁有。

然後,在括號中,列出表中每一列的定義以及資料型別。下面的示例將使語法更加清晰。

示例

以下是一個示例,它建立一個名為 COMPANY 的表,其中 ID 是主鍵,NOT NULL 是約束,表示在建立記錄時這些欄位不能為 NULL:

CREATE TABLE COMPANY(
   ID INT PRIMARY KEY     NOT NULL,
   NAME           TEXT    NOT NULL,
   AGE            INT     NOT NULL,
   ADDRESS        CHAR(50),
   SALARY         REAL
);

讓我們再建立一個表,我們將在後續章節的練習中使用它:

CREATE TABLE DEPARTMENT(
   ID INT PRIMARY KEY      NOT NULL,
   DEPT           CHAR(50) NOT NULL,
   EMP_ID         INT      NOT NULL
);

您可以使用 **\d** 命令驗證您的表是否已成功建立,此命令將用於列出附加到資料庫的所有表。

testdb-# \d

上面給出的 PostgreSQL 語句將產生以下結果:

           List of relations
 Schema |    Name    | Type  |  Owner
--------+------------+-------+----------
 public | company    | table | postgres
 public | department | table | postgres
(2 rows)

使用 **\d 表名** 描述每個表,如下所示:

testdb-# \d company

上面給出的 PostgreSQL 語句將產生以下結果:

        Table "public.company"
  Column   |     Type      | Modifiers
-----------+---------------+-----------
 id        | integer       | not null
 name      | text          | not null
 age       | integer       | not null
 address   | character(50) |
 salary    | real          |
 join_date | date          |
Indexes:
    "company_pkey" PRIMARY KEY, btree (id)
廣告

© . All rights reserved.