您好,登錄后才能下訂單哦!
這篇文章主要介紹mysql如何查詢包含指定字符串的數(shù)據(jù),文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
在mysql中,可以利用“SELECT”語句和LIKE關(guān)鍵字來查詢包含指定字符串的數(shù)據(jù),LIKE關(guān)鍵字主要用于搜索匹配字段中的指定內(nèi)容,語法“SELECT 字段名 FROM 表名 WHERE 字段名 [NOT] LIKE '字符串';”。
本教程操作環(huán)境:windows7系統(tǒng)、mysql8版本、Dell G3電腦。
在mysql中,可以利用“SELECT”語句和LIKE關(guān)鍵字來查詢包含指定字符串的數(shù)據(jù)。
LIKE 關(guān)鍵字主要用于搜索匹配字段中的指定內(nèi)容。其語法格式如下:
[NOT] LIKE '字符串'
其中:
NOT :可選參數(shù),字段中的內(nèi)容與指定的字符串不匹配時(shí)滿足條件。
字符串:指定用來匹配的字符串?!白址笨梢允且粋€(gè)很完整的字符串,也可以包含通配符。
LIKE 關(guān)鍵字支持百分號(hào)“%”和下劃線“_”通配符。
通配符是一種特殊語句,主要用來模糊查詢。當(dāng)不知道真正字符或者懶得輸入完整名稱時(shí),可以使用通配符來代替一個(gè)或多個(gè)真正的字符。
“SELECT”語句+LIKE關(guān)鍵字的使用實(shí)例
帶有“%
”通配符的查詢
“%”是 MySQL 中最常用的通配符,它能代表任何長(zhǎng)度的字符串,字符串的長(zhǎng)度可以為 0。例如,a%b表示以字母 a 開頭,以字母 b 結(jié)尾的任意長(zhǎng)度的字符串。該字符串可以代表 ab、acb、accb、accrb 等字符串。
例 1
在 tb_students_info 表中,查找所有以字母“T”開頭的學(xué)生姓名,SQL 語句和運(yùn)行結(jié)果如下。
mysql> SELECT name FROM tb_students_info -> WHERE name LIKE 'T%'; +--------+ | name | +--------+ | Thomas | | Tom | +--------+ 2 rows in set (0.12 sec)
可以看到,查詢結(jié)果中只返回了以字母“T”開頭的學(xué)生姓名。
注意:匹配的字符串必須加單引號(hào)或雙引號(hào)。
NOT LIKE
表示字符串不匹配時(shí)滿足條件。
例 2
在 tb_students_info 表中,查找所有不以字母“T”開頭的學(xué)生姓名,SQL 語句和運(yùn)行結(jié)果如下。
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)
可以看到,查詢結(jié)果中返回了不以字母“T”開頭的學(xué)生姓名。
例 3
在 tb_students_info 表中,查找所有包含字母“e”的學(xué)生姓名,SQL 語句和運(yùn)行結(jié)果如下。
mysql> SELECT name FROM tb_students_info -> WHERE name LIKE '%e%'; +-------+ | name | +-------+ | Green | | Henry | | Jane | +-------+ 3 rows in set (0.00 sec)
可以看到,查詢結(jié)果中返回了所有包含字母“e”的學(xué)生姓名。
帶有“_
”通配符的查詢
“_”只能代表單個(gè)字符,字符的長(zhǎng)度不能為 0。例如,a_b可以代表 acb、adb、aub 等字符串。
例 4
在 tb_students_info 表中,查找所有以字母“y”結(jié)尾,且“y”前面只有 4 個(gè)字母的學(xué)生姓名,SQL 語句和運(yùn)行結(jié)果如下。
mysql> SELECT name FROM tb_students_info -> WHERE name LIKE '____y'; +-------+ | name | +-------+ | Henry | +-------+ 1 row in set (0.00 sec)
LIKE 區(qū)分大小寫
默認(rèn)情況下,LIKE 關(guān)鍵字匹配字符的時(shí)候是不區(qū)分大小寫的。如果需要區(qū)分大小寫,可以加入 BINARY 關(guān)鍵字。
例 5
在 tb_students_info 表中,查找所有以字母“t”開頭的學(xué)生姓名,區(qū)分大小寫和不區(qū)分大小寫的 SQL 語句和運(yùn)行結(jié)果如下。
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)
由結(jié)果可以看到,區(qū)分大小寫后,“Tom”和“Thomas”等記錄就不會(huì)被匹配到了。
以上是“mysql如何查詢包含指定字符串的數(shù)據(jù)”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。