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

mysql正則表達(dá)式(regexp和rlike)的搜索功能實例分析

 更新時間:2019年12月31日 09:54:33   作者:luyaran  
這篇文章主要介紹了mysql正則表達(dá)式(regexp和rlike)的搜索功能,結(jié)合實例形式分析了mysql正則表達(dá)式使用regexp和rlike的搜索功能相關(guān)原理與實現(xiàn)技巧,需要的朋友可以參考下

本文實例講述了mysql正則表達(dá)式(regexp和rlike)的搜索功能。分享給大家供大家參考,具體如下:

我們知道正則表達(dá)式是描述搜索模式的特殊字符串。 它是一個強(qiáng)大的工具,為我們提供一種簡潔靈活的方法來識別基于模式的文本字符,例如字符,單詞等。例如,我們可以使用正則表達(dá)式來搜索電子郵件,IP地址,電話號碼,社會安全號碼或具有特定模式的任何內(nèi)容。正則表達(dá)式可以由正則表達(dá)式處理器解釋的自己的語法,正則表達(dá)式廣泛應(yīng)用于從編程語言到數(shù)據(jù)庫(包括MySQL)大部分平臺。使用正則表達(dá)式的優(yōu)點是,不限于在like運算符中基于具有百分號(%)和下劃線(_)的固定模式搜索字符串。 使用正則表達(dá)式,有更多的元字符來構(gòu)造靈活的模式。

了解了這些我們是不是想要來試試水呢???廢話不多說,MySQL允許使用REGEXP運算符在SQL語句中匹配模式,所以,我們來看下,正則再where子句中的語法格式:

SELECT 
 column_list
FROM
 table_name
WHERE
 string_column REGEXP pattern;

這條sql中執(zhí)行string_column與模式pattern匹配,如果string_column中的值與模式pattern匹配,則WHERE子句中的表達(dá)式將返回1,否則返回0。如果string_column或pattern為NULL,則結(jié)果為NULL。除了REGEXP運算符之外,可以使用RLIKE運算符,這是REGEXP運算符的同義詞。其中,REGEXP運算符的否定形式是NOT REGEXP。

完事我們來看個實例哈,假設(shè)想找出名字以字母A,B或C開頭的產(chǎn)品??梢允褂胹elect語句中的正則表達(dá)式如下:

SELECT 
 productname
FROM
 products
WHERE
 productname REGEXP '^(A|B|C)'
ORDER BY productname;

執(zhí)行上面查詢語句,得到以下結(jié)果:

+--------------------------------+
| productname     |
+--------------------------------+
| America West Airlines B757-200 |
| American Airlines: B767-300 |
| American Airlines: MD-11S  |
| ATA: B757-300     |
| Boeing X-32A JSF    |
| Collectable Wooden Train  |
| Corsair F4U ( Bird Cage)  |
+--------------------------------+
7 rows in set

該模式允許查詢名稱以A,B或C開頭的產(chǎn)品,其中字符^表示從字符串的開頭匹配,完事字符|如果無法匹配,則搜索替代方法。下表說明了正則表達(dá)式中一些常用的元字符和構(gòu)造:

元字符 行為
^ 匹配搜索字符串開頭處的位置
$ 匹配搜索字符串末尾的位置
. 匹配任何單個字符
[…] 匹配方括號內(nèi)的任何字符
[^…] 匹配方括號內(nèi)未指定的任何字符
匹配p1或p2模式
* 匹配前面的字符零次或多次
+ 匹配前一個字符一次或多次
{n} 匹配前幾個字符的n個實例
{m,n} 從m到n個前一個字符的實例匹配

我們再來查找名稱以a開頭的產(chǎn)品,我們在名稱開頭使用“^”進(jìn)行匹配,如下查詢語句:

SELECT 
 productname
FROM
 products
WHERE
 productname REGEXP '^a';

執(zhí)行上面查詢語句,得到以下結(jié)果:

+--------------------------------+
| productname     |
+--------------------------------+
| American Airlines: B767-300 |
| America West Airlines B757-200 |
| ATA: B757-300     |
| American Airlines: MD-11S  |
+--------------------------------+
4 rows in set

如果要使REGEXP運算符以區(qū)分大小寫的方式比較字符串,可以使用BINARY運算符將字符串轉(zhuǎn)換為二進(jìn)制字符串。因為MySQL比較二進(jìn)制字節(jié)逐字節(jié)而不是逐字符。 這允許字符串比較區(qū)分大小寫。例如,以下語句只匹配開頭為大寫“C”的產(chǎn)品名稱:

SELECT 
 productname
FROM
 products
WHERE
 productname REGEXP BINARY '^C';

執(zhí)行上面查詢語句,得到以下結(jié)果:

+--------------------------+
| productname    |
+--------------------------+
| Collectable Wooden Train |
| Corsair F4U ( Bird Cage) |
+--------------------------+
2 rows in set

要找到以f結(jié)尾的產(chǎn)品,我們可以使用'$f‘來匹配字符串的末尾:

SELECT 
 productname
FROM
 products
WHERE
 productname REGEXP 'f$';

執(zhí)行上面查詢語句,得到以下結(jié)果:

+------------------+
| productname  |
+------------------+
| Boeing X-32A JSF |
+------------------+
1 row in set

要查找其名稱包含“ford”的產(chǎn)品,就要使用以下查詢:

SELECT 
 productname
FROM
 products
WHERE
 productname REGEXP 'ford';

執(zhí)行上面查詢語句,得到以下結(jié)果:

+----------------------------------+
| productname      |
+----------------------------------+
| 1968 Ford Mustang    |
| 1969 Ford Falcon     |
| 1940 Ford Pickup Truck   |
| 1911 Ford Town Car    |
| 1932 Model A Ford J-Coupe  |
| 1926 Ford Fire Engine   |
| 1913 Ford Model T Speedster  |
| 1934 Ford V8 Coupe    |
| 1903 Ford Model A    |
| 1976 Ford Gran Torino   |
| 1940s Ford truck     |
| 1957 Ford Thunderbird   |
| 1912 Ford Model T Delivery Wagon |
| 1940 Ford Delivery Sedan   |
| 1928 Ford Phaeton Deluxe   |
+----------------------------------+
15 rows in set

要查找名稱只包含10個字符的產(chǎn)品,可以使用'^‘和'$‘來匹配產(chǎn)品名稱的開頭和結(jié)尾,并重復(fù){10}次任何字符.,作為以下查詢:

SELECT 
 productname
FROM
 products
WHERE
 productname REGEXP '^.{10}$';

執(zhí)行上面查詢語句,得到以下結(jié)果:

+-------------+
| productname |
+-------------+
| HMS Bounty |
| Pont Yacht |
+-------------+
2 rows in set

其實吧,這個查詢方式是固定的,可變的是你寫的正則,所以具體咋用,就要看各位小伙伴的能力了哦。

好啦,今天就到這里了。

PS:這里再為大家提供2款非常方便的正則表達(dá)式工具供大家參考使用:

JavaScript正則表達(dá)式在線測試工具:
http://tools.jb51.net/regex/javascript

正則表達(dá)式在線生成工具:
http://tools.jb51.net/regex/create_reg

更多關(guān)于MySQL相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《MySQL常用函數(shù)大匯總》、《MySQL日志操作技巧大全》、《MySQL事務(wù)操作技巧匯總》、《MySQL存儲過程技巧大全》及《MySQL數(shù)據(jù)庫鎖相關(guān)技巧匯總

希望本文所述對大家MySQL數(shù)據(jù)庫計有所幫助。

相關(guān)文章

  • 企業(yè)級使用LAMP源碼安裝教程

    企業(yè)級使用LAMP源碼安裝教程

    這篇文章主要介紹了企業(yè)級使用LAMP源碼的安裝教程,本文附含源碼示例,有需要的朋友可以借鑒參考下,希望可以有所幫助,祝升職加薪
    2021-09-09
  • 詳解MySQL查詢時區(qū)分字符串中字母大小寫的方法

    詳解MySQL查詢時區(qū)分字符串中字母大小寫的方法

    MySQL默認(rèn)是不區(qū)分大小寫的,這個涉及到collate字符集與校驗規(guī)則方面的知識,下面會講到,這里我們就來詳解MySQL查詢時區(qū)分字符串中字母大小寫的方法.
    2016-05-05
  • 老生常談MYSQL模式匹配 REGEXP和like的用法

    老生常談MYSQL模式匹配 REGEXP和like的用法

    下面小編就為大家?guī)硪黄仙U凪YSQL模式匹配 REGEXP和like的用法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • MySQL中查看數(shù)據(jù)庫安裝路徑的方法

    MySQL中查看數(shù)據(jù)庫安裝路徑的方法

    有時候在我們開發(fā)的過程中并不一定記得數(shù)據(jù)庫的安裝路徑,比如要查看mysql 數(shù)據(jù)庫的安裝目錄在哪里,這里就為大家分享一下
    2021-03-03
  • MySQL 綠色版安裝方法圖文教程

    MySQL 綠色版安裝方法圖文教程

    MySQL 綠色版安裝方法教程,需要的朋友可以參考下。
    2012-01-01
  • MySQL使用全庫備份數(shù)據(jù)恢復(fù)單表數(shù)據(jù)的方法

    MySQL使用全庫備份數(shù)據(jù)恢復(fù)單表數(shù)據(jù)的方法

    這篇文章主要給大家介紹了關(guān)于MySQL使用全庫備份數(shù)據(jù)恢復(fù)單表數(shù)據(jù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用mysql具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧
    2018-12-12
  • MySQL聯(lián)結(jié)表介紹以及使用詳解

    MySQL聯(lián)結(jié)表介紹以及使用詳解

    這篇文章主要給大家介紹了關(guān)于MySQL聯(lián)結(jié)表介紹及使用的相關(guān)資料,聯(lián)結(jié)SQL最強(qiáng)大的功能之一就是能在數(shù)據(jù)檢索查詢的執(zhí)行中聯(lián)結(jié)表,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-03-03
  • MySQL讀寫分離服務(wù)配置方式

    MySQL讀寫分離服務(wù)配置方式

    通過Mycat代理實現(xiàn)MySQL的讀寫分離涉及準(zhǔn)備工作、配置文件修改、權(quán)限設(shè)置、啟動方式選擇等關(guān)鍵步驟,首先,安裝JDK1.8并配置環(huán)境變量;接著,對Mycat的server.xml和schema.xml進(jìn)行配置,特別是schema.xml中對數(shù)據(jù)庫的配置需關(guān)注
    2024-11-11
  • SQL語句單引號與雙引號的使用方法

    SQL語句單引號與雙引號的使用方法

    這篇文章主要介紹了SQL語句中單引號、雙引號的使用方法,分別講述,雖然說的是Insert語句,?但是Select、Update、Delete語句都是一樣的,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-03-03
  • PHP學(xué)習(xí)散記 2012_01_07(MySQL)

    PHP學(xué)習(xí)散記 2012_01_07(MySQL)

    數(shù)據(jù)庫是Web大多數(shù)應(yīng)用開發(fā)的基礎(chǔ)。如果你是用PHP,那么大多數(shù)據(jù)庫用的是MYSQL也是LAMP架構(gòu)的重要部分
    2012-01-01

最新評論

卫辉市| 麻城市| 汉沽区| 广汉市| 甘肃省| 柯坪县| 广河县| 玉溪市| 九寨沟县| 甘泉县| 大名县| 景宁| 类乌齐县| 来宾市| 肥城市| 涿鹿县| 斗六市| 平果县| 牡丹江市| 星座| 临高县| 正镶白旗| 甘德县| 三明市| 米脂县| 建阳市| 千阳县| 绥化市| 新邵县| 邯郸市| 济阳县| 崇信县| 金溪县| 德阳市| 隆德县| 阿尔山市| 新乡市| 广安市| 平罗县| 杭锦后旗| 安丘市|