CREATE TABLE
前一天成功進入 PostgreSQL,今天要開始真正建立資料。
在 PostgreSQL 中,資料通常會存放在 Table(資料表) 裡。
例如員工資料:
| id | name | position |
|---|---|---|
| 1 | 小明 | 正職 |
| 2 | 小美 | 兼職 |
這張表格就是一個資料表。
其中:
id
name
position
稱為欄位(Column)。
而每一列資料:
1 小明 正職
則稱為一筆資料(Row)。
建立資料表前,需要先決定每個欄位要存放什麼資料。
PostgreSQL 常見型別:
| 型別 | 用途 |
|---|---|
| INTEGER | 整數 |
| VARCHAR(n) | 文字 |
| TEXT | 長文字 |
| BOOLEAN | true / false |
| DATE | 日期 |
| TIMESTAMP | 日期時間 |
例如:
員工編號 → INTEGER
姓名 → VARCHAR(50)
備註 → TEXT
假設要建立員工資料表:
CREATE TABLE employees (
id SERIAL PRIMARY KEY,
name VARCHAR(50),
position VARCHAR(20)
);
執行後如果看到:
CREATE TABLE
就代表建立成功。
剛剛的語法可以拆開來看:
CREATE TABLE employees
建立一張名為:
employees
的資料表。
id SERIAL
SERIAL 代表自動遞增。
例如:
1
2
3
4
...
不需要自己手動輸入編號。
PRIMARY KEY
主鍵(Primary Key)用來識別每一筆資料。
例如:
id = 1
id = 2
id = 3
每筆資料的主鍵都不能重複。
VARCHAR(50)
表示最多可存放 50 個字元。
例如:
小明
王小美
Peter
都可以存放。
建立完成後,可以使用:
\dt
查看目前 Database 中的資料表。
如果成功建立,會看到:
employees
顯示在列表中。
想查看欄位資訊:
\d employees
可以看到:
id
name
position
以及資料型別和主鍵設定。
這個指令在之後開發時非常常用。
目前資料庫已經從:
Database
變成:
Database
│
└── employees
│
├── id
├── name
└── position
雖然還沒有資料,但已經成功建立第一張資料表。
; → ✅ SQL 指令最後加上 ;
PRIMARY KEY
CREATE TABLE 建立資料表id 主鍵欄位VARCHAR 建立文字欄位\dt 查看資料表\d employees 查看欄位資訊今天終於建立了第一張 PostgreSQL 資料表。以前接觸 SQL 時,大多是直接對現有資料表操作,這次從零開始建立資料表,對資料庫的結構有更清楚的認識。
其中 SERIAL 和 PRIMARY KEY 的概念很重要,尤其主鍵能確保每筆資料都有唯一識別值,未來在查詢或更新資料時會非常方便。
現在資料庫已經有了 Table,下一步就可以開始新增資料,真正讓資料庫「活起來」。