在前幾節課程中,我們已經學會了如何建立資料庫、建立資料表,以及如何向資料表中新增記錄。接下來最關鍵的一步,就是如何從資料庫中精準地檢索出我們需要的資料。本篇將詳細介紹 SELECT 語句的各種用法,包含條件篩選、排序、統計等核心功能。
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;
使用 ORDER BY 可依指定欄位排序:
SELECT name, birth FROM mytable ORDER BY birth;(由舊到新)SELECT name, birth FROM mytable ORDER BY birth DESC;(由新到舊)COUNT() 函數用於統計非 NULL 記錄數:
SELECT COUNT(*) FROM mytable; → 結果:3SELECT sex, COUNT(*) FROM mytable GROUP BY sex;| sex | COUNT(*) |
|---|---|
| f | 2 |
| m | 1 |
本篇涵蓋了資料查詢的核心操作:基本檢索、條件篩選、欄位選取、排序與統計分組。熟練掌握這些指令,是進行高效資料分析的基礎。下一篇將進入多資料表關聯查詢的進階應用。