在 MySQL 中,SELECT 語句是從資料表檢索資料的核心工具。其基本語法結構為:
SELECT 檢索欄位 FROM 資料表名稱 WHERE 條件 (可選)
其中 * 代表選取所有欄位。以下範例均基於先前建立的 mytable 資料表(包含 name、sex、birth、birthaddr 欄位)。
使用 SELECT * FROM mytable; 可取得完整資料集:
+----------+------+------------+----------+
| name | sex | birth | birthaddr |
+----------+------+------------+----------+
| abccs | f | 1977-07-07 | china |
| mary | f | 1978-12-12 | usa |
| tom | m | 1970-09-02 | usa |
+----------+------+------------+----------+
若發現 tom 的出生日期有誤,應為 1973-09-02,可使用 UPDATE 修正:
UPDATE mytable SET birth = "1973-09-02" WHERE name = "tom";
執行後再次查詢即可驗證修正結果。
透過 WHERE 子句精準鎖定目標列:
SELECT * FROM mytable WHERE name = "tom";SELECT * FROM mytable WHERE sex = "f" AND birthaddr = "china";僅需特定資訊時,明確列出欄位名稱,以逗號分隔:
SELECT name FROM mytable; -- 僅姓名
SELECT name, birth FROM mytable; -- 姓名與生日
依欄位值排序,預設遞增 (ASC),可指定遞減 (DESC):
-- 依生日由舊到新
SELECT name, birth FROM mytable ORDER BY birth;
-- 依生日由新到舊
SELECT name, birth FROM mytable ORDER BY birth DESC;
COUNT() 函數用於計算非 NULL 列數:
SELECT COUNT(*) FROM mytable;SELECT sex, COUNT(*) FROM mytable GROUP BY sex;GROUP BY 子句是分組統計的關鍵,它將相同 sex 值的列歸為一組再計數。