查詢資料表。若我們想查詢一份資料表中的所有欄位,只要將語法中的「`欄位名稱`」改成「*」即可。
-- SELECT Syntax SELECT `column1`, `column2` FROM `table` WHERE `column3` LIKE 'value[_|%]' AND `column4` = 'value' LIMIT start, number ORDER BY `column5` [ASC | DESC];
其中,WHERE 子句可以讓我們篩選查詢的資料,例如我們只想取得 Addr 欄位的值等於「台北市」的記錄,則可在輸入指令時加上:
WHERE `Addr` = '台北市'
MySQL 支援的運算子如下:
等於 | = 注意不是 == |
不等於 | != 或 <> |
大於 | > |
大於等於 | >= |
小於 | < |
小於等於 | <= |
字串的比對 | LIKE |
LIKE 運算子要搭配萬用字元 _ 或 % 來使用。_ 代表一個任意的字元,% 則是代表一個任意的字串,例如我們只想取得 Addr 欄位的值等於「XX市」的記錄,則可在輸入指令時加上:
WHERE `Addr` LIKE '%市'
我們也可以使用 AND 或 OR 進行多個條件的查詢,例如我們只想取得 Addr 欄位的值等於「XX市」,並且 Age 欄位的值小於等於「18」的記錄,則可在輸入指令時加上:
WHERE `Addr` LIKE '%市' AND `Age` <= 18
若該資料表中符合條件的記錄筆數很多,我們可以加上 LIMIT 子句來限制傳回的記錄筆數。例如輸入 LIMIT 0, 30,即表示要從第 0 筆記錄開始,傳回 30 筆記錄。
ORDER BY 子句可以依某個特定的欄位進行排序。ASC 表示遞增 (Ascending) 排序;相對的,DESC 則表示遞減 (Descending) 排序。如不指定,預設是遞增排序。