溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

mysql如何查詢包含指定字符串的數(shù)據(jù)

發(fā)布時(shí)間:2022-01-05 16:36:34 來源:億速云 閱讀:1677 作者:小新 欄目:MySQL數(shù)據(jù)庫

這篇文章主要介紹mysql如何查詢包含指定字符串的數(shù)據(jù),文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

在mysql中,可以利用“SELECT”語句和LIKE關(guān)鍵字來查詢包含指定字符串的數(shù)據(jù),LIKE關(guān)鍵字主要用于搜索匹配字段中的指定內(nèi)容,語法“SELECT 字段名 FROM 表名 WHERE 字段名 [NOT] LIKE '字符串';”。

mysql如何查詢包含指定字符串的數(shù)據(jù)

本教程操作環(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è)資訊頻道!

向AI問一下細(xì)節(jié)

免責(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)容。

AI