PostgreSQL - 第 2 天 - 基本數據類型
課程簡介
數據類型在資料庫設計中至關重要,因為它定義了資料的儲存方式和使用方法。PostgreSQL 支援多種數據類型,從基本的數字、文字到進階的 JSON 和地理空間數據類型。我們將介紹一些最常用的數據類型,並解釋如何在建立資料表時選擇適合的數據類型。
常用數據類型
- 數字類型:
- INTEGER:儲存整數,範圍為 -2147483648 到 2147483647。
- BIGINT:儲存更大的整數,適用於需要更大範圍的數值。
- SERIAL:自動遞增的整數,常用作主鍵。
- NUMERIC(精度, 小數位):精確的數字類型,適合用於需要高精度的金融數據(例如
NUMERIC(10, 2)
表示最多 10 位數字,含 2 位小數)。 - FLOAT 和 DOUBLE PRECISION:浮點數類型,適用於非精確計算。
- 文字類型:
- CHAR(n):固定長度的字串,未達到指定長度時會自動填充空白。
- VARCHAR(n):可變長度的字串,最多可儲存 n 個字符。
- TEXT:可儲存任意長度的字串,適合用於長文本(例如文章內容)。
- 日期與時間類型:
- DATE:僅儲存日期,格式為 YYYY-MM-DD。
- TIME:僅儲存時間,格式為 HH:MI:SS。
- TIMESTAMP:同時儲存日期和時間,格式為 YYYY-MM-DD HH:MI:SS。
- INTERVAL:用於表示時間間隔,例如
INTERVAL '2 days'
表示兩天。
- 布林值類型:
- BOOLEAN:僅接受
TRUE
、FALSE
和NULL
,適合用於開關類別的欄位。
- BOOLEAN:僅接受
- 其他常見類型:
- UUID:通用唯一識別碼(Universally Unique Identifier),常用於生成不重複的 ID。
- ARRAY:陣列類型,可以儲存同一數據類型的多個值,例如
INTEGER[]
。 - JSON 和 JSONB:用於儲存 JSON 格式的數據,其中 JSONB 是二進制格式,查詢速度更快。
- BYTEA:用於儲存二進制數據,適合用於儲存文件或圖片。
建立資料表示例
我們可以使用以上數據類型來建立一個範例資料表,以了解如何應用不同的數據類型。
1
2
3
4
5
6
7
8
9
CREATE TABLE 客戶 (
客戶ID SERIAL PRIMARY KEY,
姓名 VARCHAR(100) NOT NULL,
電話 CHAR(10),
電子郵件 VARCHAR(255),
註冊日期 DATE DEFAULT CURRENT_DATE,
帳戶餘額 NUMERIC(10, 2) DEFAULT 0.00,
是否活躍 BOOLEAN DEFAULT TRUE
);
在這個範例中:
客戶ID
使用SERIAL
生成自動遞增的唯一 ID。姓名
欄位使用VARCHAR(100)
來儲存最多 100 字的名字。帳戶餘額
使用了NUMERIC(10, 2)
,適合用於高精度的貨幣值。註冊日期
使用DATE
,並設定預設值為當天的日期。
本日總結
今天我們介紹了 PostgreSQL 中的基本數據類型,並通過範例說明了這些數據類型的使用方法。掌握數據類型選擇對於資料庫設計至關重要。明天我們將進一步學習資料表的基本操作,包括如何創建、修改和刪除資料表。
本文章以 CC BY 4.0 授權