支援的版本:目前 (17) / 16 / 15 / 14 / 13
開發版本:devel
不再支援的版本:12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2

2.3. 建立新資料表 #

您可以使用資料表名稱以及所有欄位名稱和它們的類型來建立新資料表

CREATE TABLE weather (
    city            varchar(80),
    temp_lo         int,           -- low temperature
    temp_hi         int,           -- high temperature
    prcp            real,          -- precipitation
    date            date
);

您可以將此輸入到 psql 中,並使用換行符。psql 會識別到分號出現之前,指令尚未結束。

空白字元(即空格、Tab 鍵和換行符)可以在 SQL 指令中自由使用。這表示您可以輸入與上面不同的對齊方式的指令,甚至可以全部放在同一行。兩個破折號(--)表示註解。它們之後的任何內容都會被忽略,直到該行結束。SQL 對於關鍵字和識別字不區分大小寫,除非識別字用雙引號括起來以保留大小寫(如上例中未使用的做法)。

varchar(80) 指定一種資料類型,可以儲存長度最多為 80 個字元的任意字串。int 是標準整數類型。real 是一種用於儲存單精度浮點數的類型。date 應該是不言自明的。(是的,date 類型的欄位也命名為 date。這可能很方便,但也可能令人困惑 — 由您選擇。)

PostgreSQL 支援標準SQL類型 intsmallintrealdouble precisionchar(N)varchar(N)datetimetimestampinterval,以及其他一般用途的類型和一組豐富的幾何類型。PostgreSQL 可以使用任意數量的使用者定義資料類型進行客製化。因此,類型名稱不是語法中的關鍵字,除非需要支援SQL標準中的特殊情況。

第二個範例將儲存城市及其相關的地理位置

CREATE TABLE cities (
    name            varchar(80),
    location        point
);

point 類型是 PostgreSQL 特有的資料類型範例。

最後,應該提到的是,如果您不再需要資料表或想要以不同的方式重新建立它,您可以使用以下指令將其移除

DROP TABLE tablename;

提交更正

如果您在文件中發現任何不正確、與您使用特定功能的經驗不符或需要進一步說明的內容,請使用此表單回報文件問題。