您好,登錄后才能下訂單哦!
這篇文章主要介紹mysql如何查詢包含指定字符串的數據,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
在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如何查詢包含指定字符串的數據”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。