位置:首頁 > 數據庫 > PostgreSQL教學 > PostgreSQL創建表

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語句。當前數據庫中的表最初是空的,並且將所擁有的用戶發出的命令。

然後在括號內來定義每一列的列表,在表中是什麼樣的數據類型。其語法變得更清晰,下麵的例子。

實例

下麵是一個例子,它創建了一個公司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)