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

MySQL用正則表達(dá)式進(jìn)行搜索功能實例

 更新時間:2025年08月23日 10:48:54   作者:Just_?Run  
MySQL中的正則表達(dá)式是一種強大的文本匹配工具,它允許你使用特定的模式來搜索、替換或檢查字符串中的數(shù)據(jù),這篇文章主要介紹了MySQL用正則表達(dá)式進(jìn)行搜索功能的相關(guān)資料,需要的朋友可以參考下

一、正則表達(dá)式介紹

  • 正則表達(dá)式是用來匹配文本的特殊的串(字符集合)。
  • 所有種類的程序設(shè)計語言、文本編輯器、操作系統(tǒng)等都支持正則表達(dá)式

二、使用MySQL正則表達(dá)式

  • MySQL僅支持多數(shù)正則表達(dá)式實現(xiàn)的一個很小的子集。

2.1基本字符匹配

REGEXP后所跟的東西作為正則表達(dá)式處理。
用法:

SELECT 列名 FROM 表名 WHERE 列名 REGEXP 正則表達(dá)式;

示例:

mysql> SELECT * FROM userinfo WHERE food LIKE 'le' ORDER BY food; # LIKE匹配整列,故無返回
Empty set (0.00 sec)

mysql> SELECT * FROM userinfo WHERE food REGEXP 'le' ORDER BY food; # REGEXP在列值內(nèi)匹配
+----+----------+----------+--------+------+-------+
| id | username | password | status | age  | food  |
+----+----------+----------+--------+------+-------+
|  4 | 小張     |      397 |      0 |   24 | apple |
|  1 | 小明     |    12345 |      0 |   18 | nudle |
+----+----------+----------+--------+------+-------+
2 rows in set (0.01 sec)

2.2 OR匹配

為搜索兩個串之一(或者為這個串,或者為另一個串),使用"|"
用法:

SELECT 列名 FROM 表名 WHERE 列名 REGEXP '串1|串2';

示例:

mysql> SELECT username,food FROM userinfo WHERE food REGEXP 'milk|beef'; # 正則表達(dá)式OR操作符
+----------+------+
| username | food |
+----------+------+
| 小紅     | beef |
| 小剛     | milk |
+----------+------+
2 rows in set (0.00 sec)

mysql> SELECT username,food FROM userinfo WHERE food = 'milk' OR food = 'beef'; # 同子句OR
+----------+------+
| username | food |
+----------+------+
| 小紅     | beef |
| 小剛     | milk |
+----------+------+
2 rows in set (0.00 sec)

2.3 匹配幾個字符之一

匹配特定字符串,通過指定一組"[]"括起來的字符來完成。
用法:

SELECT 列名 FROM 表名 WHERE 列名 REGEXP '[特定字符]銜接字符';

示例:

mysql> SELECT username,food FROM userinfo WHERE food REGEXP '[bl]e'; # 匹配列值中'e'前為'b'或'l'的列,同'[b|l]e'
+----------+-------+
| username | food  |
+----------+-------+
| 小明     | nudle |
| 小紅     | beef  |
| 小張     | apple |
+----------+-------+
3 rows in set (0.00 sec)

2.4 匹配范圍

集合可用來定義要匹配的一個或多個字符,為簡化這種類型的集合,可使用"[-]"來定義一個范圍
用法:

SELECT 列名 FROM 表名 WHERE 列名 REGEXP '[范圍左端-范圍右端]銜接字符';

示例:

mysql> SELECT username,food FROM userinfo WHERE food REGEXP '[a-c]e'; # 匹配列值中'e'前為'a'到'c'的列
+----------+------+
| username | food |
+----------+------+
| 小紅     | beef |
+----------+------+
1 row in set (0.00 sec)

2.5 匹配特殊字符

正則表達(dá)式語言由具有特定含義的特殊字符構(gòu)成。為了匹配特殊字符,必須用 \ 為前導(dǎo)
用法:

SELECT 列名 FROM 表名 WHERE 列名 REGEXP '\\特殊字符';

示例:

mysql> SELECT username,password FROM userinfo WHERE password REGEXP '\\.'; # 匹配列值中存在特殊字符'.'的列
+----------+----------+
| username | password |
+----------+----------+
| 小紅     | 67890.   |
+----------+----------+
1 row in set (0.00 sec)
  • \或\?:多數(shù)正則表達(dá)式實現(xiàn)使用單個反斜杠轉(zhuǎn)義特殊字符,以便能使用這些字符本身。但MySQL要求兩個反斜杠(MySQL自己解釋一個,正則表達(dá)式庫解釋另一個)

2.6 匹配字符類

存在找出你自己經(jīng)常使用的數(shù)字、所有字母字符或所有數(shù)字字母字符等的匹配。為更方便工作,可以使用預(yù)定義的字符集,稱為字符類

2.7 匹配多個實例

有時需要對匹配的數(shù)目進(jìn)行更強的控制。

示例:

mysql> SELECT username,food FROM userinfo WHERE food REGEXP '[[:alpha:]]{5}'; # 匹配存在連續(xù)5個任意字母的列
+----------+-------+
| username | food  |
+----------+-------+
| 小明     | nudle |
| 小張     | apple |
+----------+-------+
2 rows in set (0.00 sec)

2.8 定位符

目前為止的所有例子都是匹配一個串中任意位置的文本。為了匹配特定位置的文本,需要使用定位符。

用法:

SELECT 列名 FROM 表名 WHERE 列名 REGEXP '^[特定文本]'

示例:

mysql> SELECT username,food FROM userinfo WHERE food REGEXP '^[mi]';
+----------+------+
| username | food |
+----------+------+
| 小剛     | milk |
| 小浩     | mini |
+----------+------+
2 rows in set (0.00 sec)
  • 簡單的正則表達(dá)式測試: 可以在不使用數(shù)據(jù)庫表的情況下用SELECT來測試正則表達(dá)式。。REGEXP檢查總是返回0(沒有匹配)或1(匹配)。
mysql> SELECT 'hello' REGEXP '^[h]';
+-----------------------+
| 'hello' REGEXP '^[h]' |
+-----------------------+
|                     1 |
+-----------------------+
1 row in set (0.00 sec)

三、小結(jié)

本章介紹了正則表達(dá)式的基礎(chǔ)知識,學(xué)習(xí)了如何在MySQL的SELECT語句中通過REGEXP關(guān)鍵字使用它們。

關(guān)鍵詞作用示例
REGEXP表示通配符匹配SELECT 列名 FROM 表名 WHERE 列名 REGEXP 正則表達(dá)式;

總結(jié) 

到此這篇關(guān)于MySQL用正則表達(dá)式進(jìn)行搜索功能的文章就介紹到這了,更多相關(guān)MySQL正則表達(dá)式搜索內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • mysql 5.7.13 安裝配置筆記(Mac os)

    mysql 5.7.13 安裝配置筆記(Mac os)

    這篇文章主要為大家詳細(xì)介紹了Mac os下mysql 5.7.13 安裝配置方法教程,感興趣的小伙伴們可以參考一下
    2016-06-06
  • MySQL死鎖原因、檢測與解決方案(含詳細(xì)圖文)

    MySQL死鎖原因、檢測與解決方案(含詳細(xì)圖文)

    死鎖是指兩個或多個事務(wù)在執(zhí)行過程中,因爭奪鎖資源而造成的一種相互等待的現(xiàn)象,若無外力干預(yù),這些事務(wù)將永遠(yuǎn)無法繼續(xù)執(zhí)行,這篇文章主要介紹了MySQL死鎖原因、檢測與解決方案的相關(guān)資料,需要的朋友可以參考下
    2026-04-04
  • MySQL?索引結(jié)構(gòu)、對比與操作實踐詳細(xì)攻略

    MySQL?索引結(jié)構(gòu)、對比與操作實踐詳細(xì)攻略

    在MySQL數(shù)據(jù)庫中索引是特殊的數(shù)據(jù)結(jié)構(gòu),它與表中數(shù)據(jù)關(guān)聯(lián),就像書籍的目錄與正文的關(guān)系目錄通過章節(jié)標(biāo)題和頁碼快速定位內(nèi)容,而索引則通過存儲數(shù)據(jù)的關(guān)鍵列值及其對應(yīng)物理位置,幫助數(shù)據(jù)庫快速定位目標(biāo)數(shù)據(jù),本文介紹MySQL索引結(jié)構(gòu)、對比與操作,感興趣的朋友一起看看吧
    2025-10-10
  • mysql8報錯:ERROR?1410?(42000):?You?are?not?allowed?to?create?a?user?with?GRANT解決辦法

    mysql8報錯:ERROR?1410?(42000):?You?are?not?allowed?to?

    電腦新裝的mysql,版本為8.0以上,分配權(quán)限時直接帶密碼和賬號會報錯,這篇文章主要給大家介紹了關(guān)于mysql8報錯:ERROR?1410?(42000):?You?are?not?allowed?to?create?a?user?with?GRANT的解決辦法,需要的朋友可以參考下
    2022-06-06
  • SQL實現(xiàn)LeetCode(175.聯(lián)合兩表)

    SQL實現(xiàn)LeetCode(175.聯(lián)合兩表)

    這篇文章主要介紹了SQL實現(xiàn)LeetCode(175.聯(lián)合兩表),本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • 如何設(shè)置mysql數(shù)據(jù)庫只讀權(quán)限用戶及全部權(quán)限

    如何設(shè)置mysql數(shù)據(jù)庫只讀權(quán)限用戶及全部權(quán)限

    MySQL數(shù)據(jù)庫所有用戶權(quán)限是指MySQL數(shù)據(jù)庫中可以對數(shù)據(jù)庫和表進(jìn)行操作的權(quán)限,這篇文章主要介紹了如何設(shè)置mysql數(shù)據(jù)庫只讀權(quán)限用戶及全部權(quán)限的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-11-11
  • 詳解Windows?Server?2012下安裝MYSQL5.7.24的問題

    詳解Windows?Server?2012下安裝MYSQL5.7.24的問題

    這篇文章主要介紹了Windows?Server?2012下安裝MYSQL5.7.24的詳細(xì)過程,本文通過圖文并茂實例代碼相結(jié)合給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-02-02
  • MySQL中使用自定義變量 編寫偷懶的UNION示例

    MySQL中使用自定義變量 編寫偷懶的UNION示例

    以下是對MySQL中使用自定義變量,編寫一個UNION的示例進(jìn)行了詳細(xì)的介紹,需要的朋友可以過來參考下
    2013-07-07
  • MySQL性能優(yōu)化之慢查詢優(yōu)化實戰(zhàn)指南

    MySQL性能優(yōu)化之慢查詢優(yōu)化實戰(zhàn)指南

    這篇文章主要為大家詳細(xì)介紹了MySQL如何進(jìn)行慢查詢優(yōu)化,文中的示例代碼簡潔易懂,具有一定的借鑒價值,有需要的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2025-07-07
  • MySQ實現(xiàn)XA事務(wù)的具體使用

    MySQ實現(xiàn)XA事務(wù)的具體使用

    XA事務(wù)是一種分布式事務(wù)處理協(xié)議,本文主要介紹了MySQ實現(xiàn)XA事務(wù)的具體使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-07-07

最新評論

博白县| 英吉沙县| 涟水县| 花莲市| 醴陵市| 鄂伦春自治旗| 喀喇| 秭归县| 郧西县| 四会市| 日土县| 滦南县| 图片| 哈巴河县| 九龙城区| 吕梁市| 巴林右旗| 枣强县| 西贡区| 通渭县| 澄江县| 怀集县| 星子县| 乾安县| 黑山县| 临潭县| 明光市| 阿合奇县| 房山区| 嘉鱼县| 克山县| 贞丰县| 汉川市| 韩城市| 苏州市| 永胜县| 益阳市| 手游| 大竹县| 屯留县| 南丰县|