在mysql中,可以利用「SELECT」語句和LIKE關鍵字來查詢包含指定字串的數據,LIKE關鍵字主要用於搜尋符合欄位中的指定內容,語法「SELECT 欄位名稱FROM 表名WHERE 欄位名[NOT] LIKE '字串';」。
本教學操作環境:windows7系統、mysql8版本、Dell G3電腦。
在mysql中,可以利用「SELECT」語句和LIKE關鍵字來查詢包含指定字串的資料。
LIKE 關鍵字主要用於搜尋符合欄位中的指定內容。其語法格式如下:
[NOT] LIKE '字符串'
其中:
NOT :可選參數,欄位中的內容與指定的字串不符時滿足條件。
字串:指定用來匹配的字串。 「字串」可以是一個很完整的字串,也可以包含通配符。
LIKE 關鍵字支援百分號「%」和底線「_」通配符。
通配符是一種特殊語句,主要用來模糊查詢。當不知道真正字元或懶得輸入完整名稱時,可以使用通配符來取代一個或多個真正的字元。
「SELECT」語句LIKE關鍵字的使用實例
有「%
」通配符的查詢
「%」是MySQL 中最常用的通配符,它能代表任何長度的字串,字串的長度可以為0。例如,a%b表示以字母 a 開頭,以字母 b 結尾的任意長度的字串。該字串可以代表 ab、acb、accb、accrb 等字串。
範例 1
在 tb_students_info 表中,找出所有以字母「T」開頭的學生姓名,SQL 語句和運行結果如下。
mysql> SELECT name FROM tb_students_info -> WHERE name LIKE 'T%'; +--------+ | name | +--------+ | Thomas | | Tom | +--------+ 2 rows in set (0.12 sec)
可以看到,查詢結果中只回傳了以字母「T」開頭的學生姓名。
注意:符合的字串必須加上單引號或雙引號。
NOT LIKE
表示字串不符時滿足條件。
範例 2
在 tb_students_info 表中,找出所有不以字母「T」開頭的學生姓名,SQL 語句和運行結果如下。
mysql> SELECT NAME FROM tb_students_info -> WHERE NAME NOT LIKE 'T%'; +-------+ | NAME | +-------+ | Dany | | Green | | Henry | | Jane | | Jim | | John | | Lily | | Susan | +-------+ 8 rows in set (0.00 sec)
可以看到,查詢結果中傳回了不以字母「T」開頭的學生姓名。
範例 3
在 tb_students_info 表中,找出所有包含字母「e」的學生姓名,SQL 語句和運行結果如下。
mysql> SELECT name FROM tb_students_info -> WHERE name LIKE '%e%'; +-------+ | name | +-------+ | Green | | Henry | | Jane | +-------+ 3 rows in set (0.00 sec)
可以看到,查詢結果中傳回了所有包含字母「e」的學生姓名。
有「_
」通配符的查詢
「_」只能代表單一字符,字符的長度不能為0。例如,a_b可以代表 acb、adb、aub 等字串。
例4
在tb_students_info 表中,找出所有以字母「y」結尾,且「y」前面只有4 個字母的學生姓名,SQL 語句和運行結果如下。
mysql> SELECT name FROM tb_students_info -> WHERE name LIKE '____y'; +-------+ | name | +-------+ | Henry | +-------+ 1 row in set (0.00 sec)
LIKE 區分大小寫
#預設情況下,LIKE 關鍵字符合字元的時候是不區分大小寫的。如果需要區分大小寫,可以加入 BINARY 關鍵字。
範例5
在tb_students_info 表中,找出所有以字母「t」開頭的學生姓名,區分大小寫和不區分大小寫的SQL 語句和運行結果如下。
mysql> SELECT name FROM tb_students_info WHERE name LIKE 't%'; +--------+ | name | +--------+ | Thomas | | Tom | +--------+ 2 rows in set (0.00 sec) mysql> SELECT name FROM tb_students_info WHERE name LIKE BINARY 't%'; Empty set (0.01 sec)
由結果可以看到,區分大小寫後,「Tom」和「Thomas」等記錄就不會被配對到了。
【相關推薦:mysql影片教學】
#以上是mysql怎麼查詢包含指定字串的數據的詳細內容。更多資訊請關注PHP中文網其他相關文章!