承接上一篇《MySQL 簡單使用(一)》,本文將深入介紹 MySQL 中常用的資料型別、表結構查看方式,以及資料的增、刪、改、查核心操作,並補充修改表結構、重命名資料表與排序查詢等實用技巧。
在建立資料表時,欄位定義格式為 (欄位名1 資料型別1, 欄位名2 資料型別2, ...)。以下整理 MySQL 最常用的資料型別,供快速參考:
| 型別 | 說明 |
|---|---|
| CHAR | 固定長度字串,長度 1~255 字元,建立時必須指定長度,預設為 CHAR(1) |
| VARCHAR | 可變長度字串,最多 255 位元組,指定 VARCHAR(n) 可儲存 0~n 字元 |
| TEXT | 最大長度 64KB 的可變長文本 |
| LONGTEXT | 最大長度 4GB 的長文本(純文字,實際較少達到上限) |
| ENUM | 從最多 65,535 個預定義字串中選擇一個值 |
| SET | 從最多 65,535 個預定義字串中選擇零個或多個值 |
| INT[(M)] | 4 位元組整數。有號範圍:-2,147,483,648 ~ 2,147,483,647;無號範圍:0 ~ 4,294,967,295 |
| DATE | 4 位元組,格式 YYYY-MM-DD,範圍 1000-01-01 ~ 9999-12-31 |
| TIME | 3 位元組,格式 HH:MM:SS,範圍 -838:59:59 ~ 838:59:59(支援負值,便於日期時間相減) |
| DATETIME | 8 位元組,格式 YYYY-MM-DD HH:MM:SS,範圍 1000-01-01 00:00:00 ~ 9999-12-31 23:59:59 |
| BLOB | 二進位資料型別,最大 64KB。圖片、影片、音檔等均以二進位儲存,屬重要型別 |
補充說明:
建立資料表後,可使用以下指令快速檢視結構(欄位名、資料型別、是否允許 NULL、預設值等):
> desc 表名稱;
> show columns from 表名稱;

基本語法:SELECT 欄位1, 欄位2... FROM 表名稱;
常用簡寫與進階用法:
SELECT * FROM 表名稱;SELECT * FROM 表名稱 ORDER BY 欄位名 LIMIT n-1, m;
語法:INSERT INTO 表名稱 (欄位1, 欄位2, ...) VALUES (值1, 值2, ...);

語法:DELETE FROM 表名稱 WHERE 條件運算式;
WHERE 子句根據欄位值精準定位欲刪除的列,例如 WHERE name='Bob' AND age=12。

語法:UPDATE 表名稱 SET 欄位名='新值' WHERE 條件運算式;
例如將名稱為 "Ason" 的紀錄中 age 從 15 改為 13:

隨著業務演進,常需增減欄位或索引:
ALTER TABLE 表名稱 ADD 欄位名 資料型別 [其他選項];ALTER TABLE 表名稱 DROP 欄位名;ALTER TABLE 表名稱 ADD INDEX 索引名 (欄位1, 欄位2...);ALTER TABLE 表名稱 ADD PRIMARY KEY (欄位名);ALTER TABLE 表名稱 DROP INDEX 索引名;
語法:RENAME TABLE 舊表名 TO 新表名;

語法:SELECT 欄位1, 欄位2... FROM 表名稱 ORDER BY 排序欄位1, 排序欄位2...;
注意:SELECT 後的欄位為顯示內容,ORDER BY 後的欄位為排序依據,兩者可不同。

掌握上述操作,已能應付大多數日常資料庫維護需求。下一節將介紹表的合併與備份策略,敬請期待。