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 [^李王]三;
不會匹配李三 王三 會匹配孫三