最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL通配符與正則表達式搜過濾數據詳解

 更新時間:2022年09月30日 10:35:59   作者:隨處可見的打字員  
簡單來說,正則表達式就是用來匹配文本的特殊字符串,下面這篇文章主要給大家介紹了關于MySQL通配符與正則表達式搜過濾數據的相關資料,文中通過實例代碼以及圖文介紹的非常詳細,需要的朋友可以參考下

通配符過濾

通配符:用來匹配值的一部分特殊字符。

通配符可以在搜索模式中任意位置使用,并且可以使用多個通配符。

搜索模式:由字面值、通配符或者兩者組合構成的搜索條件。

語法(使用LIKE操作符):

SELECT [column_name]
FROM [table_name]
WHERE [column_name] LIKE '[string]';

通配符 %

‘%’ 表示任何字符出現任意次數,例如 LIKE ‘jet%’ 匹配詞jet起頭的值,‘%anvil%’ 匹配任何位置包含文本anvil的值。

注意

  • 根據MySQL的配置方式,搜索可以是區(qū)分大小寫的;
  • ‘%’ 可以匹配0個字符;
  • 值的尾空格會干擾通配符匹配,最好在搜索模式最后附加一個%;
  • ‘%’ 不能匹配NULL。

通配符 _

‘_’ 只匹配單個字符。

技巧

  • 不要過度使用通配符,因為這會很花時間;
  • 如有必要,使用通配符匹配在搜索的最后;

正則表達式過濾

語法(使用REGEXP操作符):

SELECT [column_name]
FROM [table_name]
WHERE [column_name] REGEXP '[string]';

字符匹配

基本匹配:‘.’ 表示匹配任意一個字符。

基本字符匹配舉例

正則表達式匹配不區(qū)分大小寫,使用BINARY關鍵字區(qū)分,例如WHERE prod_name REGEXP BINARY ‘JetPack .000’。

  • OR匹配:‘1000|2000’ 表示匹配1000或者2000。
  • 多字符匹配:‘[123]’ 表示匹配 1 或 2 或 3,是 [1|2|3] 的縮寫。

但是 ‘[1|2|3] Ton’ 和 ‘1|2|3 Ton’ 匹配結果并不相同,后者表示匹配 1 或 2 或 3 Ton。

  • 否定字符匹配:‘[^123]’ 表示匹配除這些字符外的任何東西。
  • 匹配范圍:‘[0-9]’ 與 ‘[0123456789]’ 相同。‘[a-z]’ 匹配任意字母字符。
  • 匹配特殊字符:使用轉義字符 ‘\’,例如 ‘\.’ 、’ \|’ 、‘\[’ 、‘\’。

其他字符

空白元字符

元字符說明
\\f換頁
\\n換行
\\r回車
\\t制表
\\v縱向制表

字符類

說明
[:alnum:]任意字母和數字
[:alpha:]任意字符(同[a-zA-Z])
[:blank:]空格和制表
[:cntrl:]ASCII控制字符(0-31和127)
[:digit:]任意數字
[:graph:]與[:print:]相同,但是不包括空格
[:lower:]任意小寫字母
[:print:]任意可打印字符
[:punct:]既不在[:alnum:]也不在[:cntrl:] 中的任意字符
[:space:]包括空格在內的任意空白字符
[:upper:]任意大寫字符
[:xdigit:]任意十六進制數字

重復元字符

元字符說明
*0個或多個匹配
+1個或多個匹配
?0個或多個匹配
{n}指定數目匹配
{n, }不少于指定數目的匹配
{n, m}匹配數目的范圍(m不超過255)

定位元字符

元字符說明
^文本的開始
$文本的結尾
[[:<:]]詞的開始
[[:>:]]詞的結尾

舉例:

SELECT prod_name
FROM products
WHERE prod_name REGEXP '^[0-9\\.]';

對比

如果匹配文本在列值中出現,則LIKE不會匹配,但是REGEXP會匹配。

LIKE與REGEXP對比

可以通過用 ^ 開始每個表達式,用 $ 結束每個表達式,使得REGEXP的作用和LIKE一樣。

正則表達式測試

SELECT 'hello' REGEXP '[0-9]';	//結果返回0

總結

到此這篇關于MySQL通配符與正則表達式搜過濾數據的文章就介紹到這了,更多相關MySQL通配符與正則過濾數據內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Advanced Pagination for MySQL(mysql高級分頁)

    Advanced Pagination for MySQL(mysql高級分頁)

    看到葉金榮的一篇關于mysql分頁的文章,結合雅虎之前發(fā)的一篇PDF 談談自己的看法
    2016-08-08
  • Ubuntu20下MySQL?8.0.28?安裝卸載方法圖文教程

    Ubuntu20下MySQL?8.0.28?安裝卸載方法圖文教程

    這篇文章主要為大家詳細介紹了Ubuntu20下MySQL?8.0.28?安裝卸載方法圖文教程,文中安裝步驟介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • Mysql性能優(yōu)化方案分享

    Mysql性能優(yōu)化方案分享

    這篇文章主要為大家分享了Mysql性能優(yōu)化方案,幫助大家進行Mysql性能優(yōu)化,感興趣的小伙伴們可以參考一下
    2016-03-03
  • mysql對于模糊查詢like的一些匯總

    mysql對于模糊查詢like的一些匯總

    這篇文章主要給大家介紹了關于mysql對于模糊查詢like的一些匯總,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-10-10
  • MySQL?1130錯誤原因分析以及解決方案

    MySQL?1130錯誤原因分析以及解決方案

    這篇文章主要給大家介紹了關于MySQL?1130錯誤原因分析以及解決方案的相關資料,MySQL 1130錯誤通常是由于連接MySQL時使用的用戶名或密碼不正確所導致的,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2023-10-10
  • Mysql鎖機制之行鎖、表鎖、死鎖的實現

    Mysql鎖機制之行鎖、表鎖、死鎖的實現

    本文主要介紹了Mysql鎖機制之行鎖、表鎖、死鎖的實現,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • MySQL日志配置與查看方法

    MySQL日志配置與查看方法

    作為數據庫管理員,我曾多次遇到因日志配置不當導致的線上故障,今天我將結合多年一線運維經驗,系統講解MySQL五大核心日志的配置與查看方法,并附上實際生產環(huán)境中的排錯案例,需要的朋友可以參考下
    2025-09-09
  • MySQL中case?when的兩種基本用法及區(qū)別總結

    MySQL中case?when的兩種基本用法及區(qū)別總結

    在mysql中case when用于計算條件列表并返回多個可能結果表達式之一,下面這篇文章主要給大家介紹了關于MySQL中case?when的兩種基本用法及區(qū)別的相關資料,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2023-05-05
  • SELECT INTO 和 INSERT INTO SELECT 兩種表復制語句簡單介紹

    SELECT INTO 和 INSERT INTO SELECT 兩種表復制語句簡單介紹

    Insert是T-sql中常用語句,Insert INTO table(field1,field2,...) values(value1,value2,...)這種形式的在應用程序開發(fā)中必不可少
    2012-11-11
  • MySQL數據類型之淺談字符串(string)

    MySQL數據類型之淺談字符串(string)

    這篇文章主要介紹了MySQL數據類型之字符串(string)的使用,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10

最新評論

突泉县| 武冈市| 尼勒克县| 鞍山市| 沧源| 吴旗县| 南召县| 唐海县| 始兴县| 桂林市| 渭南市| 大余县| 沧州市| 焦作市| 遂川县| 凯里市| 元江| 旌德县| 崇左市| 饶河县| 平昌县| 阳高县| 东阳市| 富裕县| 石景山区| 柳州市| 成武县| 扎囊县| 洛隆县| 故城县| 伊宁县| 合山市| 涟水县| 龙江县| 巴彦县| 和政县| 疏勒县| 宣化县| 融水| 三穗县| 江西省|