mysql模糊查询LIKE、REGEXP(正则)的详解(在可视化工具navicat下)
https://blog.csdn.net/hanhanwanghaha寶藏女孩 歡迎您的關注!
歡迎關注微信公眾號:寶藏女孩的成長日記
如有轉載,請注明出處(如不注明,盜者必究)
目錄
- 一、總結
- 二、語法
- 三、LIKE舉例
- 3.1"%"的用法
- 3.1.1舉例表
- 3.1.2代碼
- 3.1.3運行結果
- 3.2“-”的用法
- 3.2.1舉例表
- 3.2.2代碼
- 3.2.3運行結果
- 四、REGEXP舉例
- 4.1“[ ]”的用法
- 4.1.1舉例表
- 4.1.2代碼
- 4.1.3運行結果
- 4.2“[^]”的用法
- 4.2.1舉例表
- 4.2.2代碼
- 4.2.3運行結果
- 4.3“^”的用法
- 4.3.1舉例表
- 4.3.2代碼
- 4.3.3運行結果
- 4.4“$”的用法
- 4.4.1舉例表
- 4.4.2代碼
- 4.4.3運行結果
- 4.5“.”的用法
- 4.5.1舉例表
- 4.5.2代碼
- 4.5.3運行結果
- 4.6“A|B|C”的用法
- 4.6.1舉例表
- 4.6.2代碼
- 4.6.3運行結果
- 4.7“*”的用法
- 4.7.1舉例表
- 4.7.2代碼
- 4.7.3運行結果
LIKE運算符: 執行通配查詢,查詢條件可包含文字字符或數字
??‘%‘代表的是任意個字符,它的效果像是正則表達式里的’*’
??‘_‘字符,這表示一個任意字符。效果類似正則表達式里面的’.’
REGEXP運算符: 是mysql的正則匹配操作符.
一、總結
LIKE
| % | 表示任意個數的任意字符,匹配任意類型和長度的字符 |
| - | 表示一個任意字符,匹配一個任意字符,常用來限制表達式的字符長度語句 |
REGEXP(正則)
| [ ] | 表示括號內所列字符中的一個字符 |
| [^ ] | 表示不在括號所列之內的一個字符 |
| ^ | 匹配字符串開始位置 |
| $ | 匹配字符串結束位置 |
| . | 匹配除\n之外的任意單個字符 |
| * | 匹配前面的子表達式零次或多次 |
| A|B|C | 表示匹配A或B或C |
二、語法
SELECT 字段(列) FROM 表 WHERE 查詢字段(列) LIKE/REGEXP 條件三、LIKE舉例
3.1"%"的用法
3.1.1舉例表
%:表示任意個數的任意字符,匹配任意類型和長度的字符
要求:將商品名中帶有“牙膏”的都找出來
3.1.2代碼
SELECT * FROM business WHERE goodsName LIKE '%牙膏%'3.1.3運行結果
3.2“-”的用法
3.2.1舉例表
_ :表示一個任意字符,匹配一個任意字符,常用來限制表達式的字符長度語句
要求:1.找出以張開頭的兩個字的用戶名 2.找出第二個字為浩的用戶名
注:一個“_”代表一個字符
3.2.2代碼
SELECT * FROM nameone WHERE username LIKE '張_' SELECT * FROM nameone WHERE username LIKE '_浩_'3.2.3運行結果
四、REGEXP舉例
4.1“[ ]”的用法
4.1.1舉例表
[]:表示括號內所列字符中的一個字符
要求:將為(1-3)狗子用戶名都找出來
4.1.2代碼
SELECT * FROM nameone WHERE username REGEXP '[1-3]狗子';4.1.3運行結果
4.2“[^]”的用法
4.2.1舉例表
[^ ] :表示不在括號所列之內的一個字符
要求:將除了序號為(1-3)且后綴為狗子的用戶名都找出來
4.2.2代碼
SELECT * FROM nameone WHERE username REGEXP '[^1-3]狗子';4.2.3運行結果
4.3“^”的用法
4.3.1舉例表
^:匹配字符串開始位置
要求:將以“張”開頭的找出來
4.3.2代碼
SELECT * FROM nameone WHERE username REGEXP '^張';4.3.3運行結果
4.4“$”的用法
4.4.1舉例表
$:匹配字符串結束位置
要求:找出以七結尾的用戶名
4.4.2代碼
SELECT * FROM nameone WHERE username REGEXP '七$';4.4.3運行結果
4.5“.”的用法
4.5.1舉例表
. :匹配除\n之外的任意單個字符
要求:將第三個字為“然”的用戶名找出來
4.5.2代碼
SELECT * FROM nameone WHERE username REGEXP '..然';4.5.3運行結果
4.6“A|B|C”的用法
4.6.1舉例表
A|B|C表示匹配A或B或C
要求:將匹配張、狗、二的用戶名都找出來
4.6.2代碼
SELECT * FROM nameone WHERE username REGEXP '張|狗|二';4.6.3運行結果
4.7“*”的用法
4.7.1舉例表
*:匹配前面的子表達式零次或多次,例如 ,張 山 * 能匹配張以及張山山
要求:將張山、張田、張山山統統找出來
4.7.2代碼
SELECT * FROM nameone WHERE username REGEXP '張山*';4.7.3運行結果
希望可以幫到你!若有不足,歡迎指出.
總結
以上是生活随笔為你收集整理的mysql模糊查询LIKE、REGEXP(正则)的详解(在可视化工具navicat下)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 哈夫曼树(Huffman Tree)的介
- 下一篇: sqliteman install pa