mysql 模糊查詢的幾種方式

mysql 模糊查詢。我們一般寫的sql語句是

SELECT 【字段】FROM 【表】WHERE 【字段】LIKE 【匹配表達式】

這裏有四種匹配表達式:

1.%

匹配任意字段:select name from user where name like %三%;

這樣就會匹配 張三 李三 李三毛等,但是注意這個如果在name字段上添加了索引,並不會去使用索引,而是全文的檢索,如果我們寫成這樣 select name from user where name like 三%;就不會出現這種情況了

想起個實例我的猜測:百度的快速檢索,每寫一個自都會發送一個請求,但是都是根據類似與 三% 這樣的前綴搜索實現的。

2._

這個是用來匹配一個字符的,我們寫幾個下劃線,就會匹配幾個字符。例如:

select name from user where name like _三;

只會去匹配張三 李三,不會匹配李小三 ,這樣我們就可以去準確的去匹配幾個字符的。

3.[]

中括號裏面放的是我們要匹配的關鍵字 指定是一個字符

例如:select name from user where name like [李王]三;

就會匹配李三 王三,不會匹配李王三

4.[^]

這個的意思和3恰恰相反,這個就不會去匹配中括號的關鍵字,指定是一個字符 例如

select name from user where name like [^李王]三;

不會匹配李三 王三  會匹配孫三

 

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