日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

MySql模糊查询like通配符简介

發布時間:2023/12/13 综合教程 34 生活家
生活随笔 收集整理的這篇文章主要介紹了 MySql模糊查询like通配符简介 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

%代表隨意多個字符 _代表一個字符 在 MySQL中。SQL的模式缺省是忽略大寫和小寫的
正則模式使用REGEXP和NOT REGEXP操作符
“.”匹配不論什么單個的字符。一個字符類
“[...]”匹配在方括號內的隨意單個字符
“ * ”匹配零個或多個在它前面的東西
正則表達式是區分大寫和小寫的。可是假設你希望,你能使用一個字符類匹配兩種寫法。

比如。“[aA]”匹配小寫或大寫的“a”而“[a-zA-Z]”匹配兩種寫法的不論什么字母。
在模式開始處使用“^”或在模式的結尾用“$”。

為了找出以“三”開頭的名字。使用“^”匹配名字的開始。

FROM [user] WHERE u_name REGEXP ‘^三’;

將會把u_name為 “三腳貓”等等以“三”開頭的記錄全找出來。

為了找出以“三”結尾的名字,使用“$”匹配名字的結尾。

FROM [user] WHERE u_name REGEXP ‘三$’;

將會把u_name為“張三”。“張貓三”等等以“三”結尾的記錄全找出來。

你也能夠使用“{n}”“反復n次”操作符重寫先前的查詢:

FROM [user] WHERE u_name REGEXP ‘b{2}$’;

MySql的like語句中的通配符:百分號、下劃線和escape

%:表示隨意個或多個字符。可匹配隨意類型和長度的字符。

Sql代碼

select * from user where username like '%huxiao';

select * from user where username like 'huxiao%';

select * from user where username like '%huxiao%';

另外。假設須要找出u_name中既有“三”又有“貓”的記錄,請使用and條件

SELECT * FROM [user] WHERE u_name LIKE ‘%三%’ AND u_name LIKE ‘%貓%’

若使用 SELECT * FROM [user] WHERE u_name LIKE ‘%三%貓%’

盡管能搜索出“三腳貓”,但不能搜索出符合條件的“張貓三”。

_:表示隨意單個字符。匹配單個隨意字符,它經常使用來限制表達式的字符長度語句:(能夠代表一個中文字符)

Sql代碼

select * from user where username like '_';

select * from user where username like 'huxia_';

select * from user where username like 'h_xiao';

假設我就真的要查%或者_,怎么辦呢?使用escape,轉義字符后面的%或_就不作為通配符了,注意前面沒有轉義字符的%和_仍然起通配符作用

Sql代碼

select username from gg_user where username like '%xiao/_%' escape '/';

select username from gg_user where username like '%xiao/%%' escape '/';

二、正則模式

由MySQL提供的模式匹配的其它類型是使用擴展正則表達式。當你對這類模式進行匹配測試時,使用REGEXP和NOT REGEXP操作符(或RLIKE和NOT RLIKE,它們是同義詞)。

擴展正則表達式的一些字符是:

“.”匹配不論什么單個的字符。(單字節字符)

一個字符類“[...]”匹配在方括號內的不論什么字符。

比如,“[abc]”匹配“a”、“b”或“c”。

為了命名字符的一個范圍。使用一個“-”。“[a-z]”匹配不論什么小寫字母,而“[0-9]”匹配不論什么數字。

“ * ”匹配零個或多個在它前面的東西。比如,“x*”匹配不論什么數量的“x”字符,“[0-9]*”匹配的不論什么數量的數字,而“.*”匹配不論什么數量的不論什么東西。

正則表達式是區分大寫和小寫的,可是假設你希望。你能使用一個字符類匹配兩種寫法。比如。“[aA]”匹配小寫或大寫的“a”而“[a-zA-Z]”匹配兩種寫法的不論什么字母。

假設它出如今被測試值的不論什么地方。模式就匹配(僅僅要他們匹配整個值。SQL模式匹配)。

為了定位一個模式以便它必須匹配被測試值的開始或結尾,在模式開始處使用“^”或在模式的結尾用“$”。

為了說明擴展正則表達式怎樣工作,上面所看到的的LIKE查詢在以下使用REGEXP重寫:

為了找出以“三”開頭的名字。使用“^”匹配名字的開始。

FROM [user] WHERE u_name REGEXP ‘^三’;

將會把u_name為 “三腳貓”等等以“三”開頭的記錄全找出來。

為了找出以“三”結尾的名字,使用“$”匹配名字的結尾。

FROM [user] WHERE u_name REGEXP ‘三$’;

將投入u_name至“喬 - 史密斯”。“張貓3”等等。“三”找出在整個記錄的末尾。

您還可以使用“{n}”“反復n次要”操作改寫前面的查詢:

FROM [user] WHERE u_name REGEXP ‘b{2}$’;

注意:假設中國文字,您可能需要使用的時候要注意。

總結

以上是生活随笔為你收集整理的MySql模糊查询like通配符简介的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。