MySQL——模糊查詢(LIKE關鍵字與通配符:百分號%和下劃線_的使用和理解)——(運用場景+通俗易懂)

使用mysql模糊查詢主要點:LIKE關鍵字和這兩個通配符配合使用:

_:任意一個字符,
%:任意0或多個字符。

那麼我們立即上手吧!

一、使用LIKE和通配符 _
場景1:我要搜索一個名字,可我都忘記叫什麼了,只知道是3個字符的,那怎麼搜索呢(三個下劃線 _

代碼示例

SELECT * FROM test WHERE name LIKE'___';

運行結果
在這裏插入圖片描述
(沒錯,一個下劃線 _ 對應一個字符)

場景2:我要搜索一個名字總共是3個字符的,可是我只記得第一個字符是 c 後面的忘記了,那怎麼搜索呢

代碼示例

SELECT * FROM test WHERE name LIKE'c__';

運行結果
在這裏插入圖片描述
場景3:我要搜索一個名字總共是7個字符的,可是我只記得中間個字符 剽悍 前面和後面忘記了,那怎麼搜索呢

SELECT * FROM test WHERE name LIKE'__剽悍___';

運行結果
在這裏插入圖片描述
場景4:我要搜索一個名字總共是7個字符的,可是我只記得最後兩個個字符 種子 前面忘記了,那怎麼搜索呢

代碼示例

SELECT * FROM test WHERE name LIKE'_____種子';

運行結果
在這裏插入圖片描述

上面使用下劃線 _ 可以發現一個核心三個點:

一個核心:

需要確定想要搜索的個數,否則查詢不到(簡單的說就是需要一個信息:知道字符個數)

三個點:

1.不管匹配字母還是中文都是可以的,因爲""雙引號代表字符嘛。
2.一個下劃線 _ 對應一個字符,如果想搜索某個數據,那麼 _ 與字符個數要一致。
3.匹配的時候如果還知道哪幾位的是什麼字符,可以讓結果更精確。

二、使用LIKE和通配符 %
場景1:我要搜索一個名字只知道開頭是一的字,後面是什麼字,有多少個字符都不知道,那怎麼搜索呢

代碼示例

SELECT * FROM test WHERE name LIKE'一%';

運行結果
在這裏插入圖片描述
場景2:那反過來我要搜索一個名字只知道最後一個是子的字,前面是什麼字,有多少個字符也都不知道,那怎麼搜索呢

代碼示例

SELECT * FROM test WHERE name LIKE'%子';

運行結果
在這裏插入圖片描述
場景3: 那來個折中的,我要搜索一個名字只知道中間其中一個是悍的字,前面是什麼字,後面有多少個字符通通都不知道,那怎麼搜索呢

代碼示例

SELECT * FROM test WHERE name LIKE'%悍%';

(但是有一點就是這上面左右兩個%%,中間一個字符【只要知道某一個字符,就可以匹配,不需要確定該字符是否在中間】)
運行結果
在這裏插入圖片描述
上面使用下劃線 % 比較好理解,但是有一個關鍵點:只要知道其中某個一個字符就可以匹配的意長度的字符。(簡單的說需要一個信息:知道某個字符)

三、 _% 的結合使用提高精確:
還是來個場景: 我要搜索一個名字,第三個字是剽字,前兩個字不知道,後面有多少個字是什麼當然也不知道,但是我們比前面所演示的知道的信息多一些,那麼我們的查詢結果也會更加精確!

代碼示例

 SELECT * FROM test WHERE name LIKE'__剽%';

在這裏插入圖片描述

最後:
模糊查詢當然不只 %_ 這兩個,由於篇幅原因下次一起繼續來實踐和理解。數據庫好玩的地方不只是結合後端語言,單獨拿出來也有很多很有意思的事情,下次也一起發一篇用SQL符號提高我們平常搜索的效率。

那就點贊關注一下哦!

哈哈…不強求啦,只是你可以第一時間收到😜

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章