亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > MySQL > 正文

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

2024-07-24 13:12:47
字體:
來源:轉載
供稿:網友

like

like要求整個數據都要匹配,而REGEXP只需要部分匹配即可。 
也就是說,用Like,必須這個字段的所有內容滿足條件,而REGEXP只需要有任何一個片段滿足即可。

MySQL提供標準的SQL模式匹配(like),以及一種基于象Unix實用程序如vi、grep和sed的擴展正則表達式模式匹配的格式(regexp)。
SQL的模式匹配允許你使用“_”匹配任何單個字符,而“%”匹配任意數目字符(包括零個字符)。在 MySQL中,SQL的模式缺省是忽略大小寫的。下面顯示一些例子。注意在你使用SQL模式時,你不能使用=或!=;而使用LIKE或NOT LIKE比較操作符。

為了找出以“b”開頭的名字:

mysql> SELECT * FROM pet WHERE name LIKE "b%";
+--------+--------+---------+------+------------+------------+
| name | owner | species | sex | birth | death |
+--------+--------+---------+------+------------+------------+
| Buffy | Harold | dog | f | 1989-05-13 | NULL |
| Bowser | Diane | dog | m | 1989-08-31 | 1995-07-29 |
+--------+--------+---------+------+------------+------------+

為了找出以“fy”結尾的名字:

mysql> SELECT * FROM pet WHERE name LIKE "%fy";
+--------+--------+---------+------+------------+-------+
| name | owner | species | sex | birth | death |
+--------+--------+---------+------+------------+-------+
| Fluffy | Harold | cat | f | 1993-02-04 | NULL |
| Buffy | Harold | dog | f | 1989-05-13 | NULL |
+--------+--------+---------+------+------------+-------+

為了找出包含一個“w”的名字:

mysql> SELECT * FROM pet WHERE name LIKE "%w%";
+----------+-------+---------+------+------------+------------+
| name | owner | species | sex | birth | death |
+----------+-------+---------+------+------------+------------+
| Claws | Gwen | cat | m | 1994-03-17 | NULL |
| Bowser | Diane | dog | m | 1989-08-31 | 1995-07-29 |
| Whistler | Gwen | bird | NULL | 1997-12-09 | NULL |
+----------+-------+---------+------+------------+------------+

為了找出包含正好5個字符的名字,使用“_”模式字符:

mysql> SELECT * FROM pet WHERE name LIKE "_____";
+-------+--------+---------+------+------------+-------+
| name | owner | species | sex | birth | death |
+-------+--------+---------+------+------------+-------+
| Claws | Gwen | cat | m | 1994-03-17 | NULL |
| Buffy | Harold | dog | f | 1989-05-13 | NULL |
+-------+--------+---------+------+------------+-------+

REGEXP

另外一種匹配是基于正則表達式的。當你對這類模式進行匹配測試時,使用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重寫:
為了找出以“b”開頭的名字,使用“^”匹配名字的開始并且“[bB]”匹配小寫或大寫的“b”:

mysql> SELECT * FROM pet WHERE name REGEXP "^[bB]";
+--------+--------+---------+------+------------+------------+
| name | owner | species | sex | birth | death |
+--------+--------+---------+------+------------+------------+
| Buffy | Harold | dog | f | 1989-05-13 | NULL |
| Bowser | Diane | dog | m | 1989-08-31 | 1995-07-29 |
+--------+--------+---------+------+------------+------------+

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

mysql> SELECT * FROM pet WHERE name REGEXP "fy$";
+--------+--------+---------+------+------------+-------+
| name | owner | species | sex | birth | death |
+--------+--------+---------+------+------------+-------+
| Fluffy | Harold | cat | f | 1993-02-04 | NULL |
| Buffy | Harold | dog | f | 1989-05-13 | NULL |
+--------+--------+---------+------+------------+-------+

為了找出包含一個“w”的名字,使用“[wW]”匹配小寫或大寫的“w”:

mysql> SELECT * FROM pet WHERE name REGEXP "[wW]";
+----------+-------+---------+------+------------+------------+
| name | owner | species | sex | birth | death |
+----------+-------+---------+------+------------+------------+
| Claws | Gwen | cat | m | 1994-03-17 | NULL |
| Bowser | Diane | dog | m | 1989-08-31 | 1995-07-29 |
| Whistler | Gwen | bird | NULL | 1997-12-09 | NULL |
+----------+-------+---------+------+------------+------------+

[^……],匹配不包含在[]的字符,如查詢出除了w/z/s開頭之外的人名

select name from 表名 where name regexp '^[^wzs]';

*,重復0次或多次,熟悉javascript正則的同學都知道 

'str*'可以匹配st/str/strr/strrr……

?,重復0次或1次

'str?'可以匹配st/str

+,重復1次或多次

'str+'可以匹配str/strr/strrr/strrrr……

相比javascript里面的正則而言,這里的正則是簡化版的,沒有惰性匹配/貪婪匹配,[]內不支持/w/s/d這種語法,也不支持中文,相對簡單

以上這篇老生常談MYSQL模式匹配 REGEXP和like的用法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到MYSQL教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲国产精品yw在线观看| 国产日韩中文字幕| 9.1国产丝袜在线观看| 欧美午夜片在线免费观看| 日韩三级影视基地| 欧美成人一区在线| 亚洲欧美日韩精品久久亚洲区| 亚洲一二三在线| 日韩激情视频在线| 美女999久久久精品视频| 日韩久久免费视频| 午夜欧美大片免费观看| 色噜噜狠狠狠综合曰曰曰| 日韩日本欧美亚洲| www.亚洲成人| 日本亚洲精品在线观看| 久久久国产精品免费| 欧美性xxxxhd| 国产成人综合av| 九九热这里只有在线精品视| 亚洲奶大毛多的老太婆| 日韩欧美成人免费视频| 亚洲a级在线播放观看| 久久久久久久久久婷婷| 伦理中文字幕亚洲| 91精品中文在线| 亚洲精品少妇网址| 精品国产乱码久久久久久天美| 蜜臀久久99精品久久久无需会员| 国产日韩在线免费| 久久99国产精品久久久久久久久| 69av在线播放| 韩国一区二区电影| 日韩免费观看视频| 国产成人精品久久二区二区91| 国产精品成人国产乱一区| 欧美日韩免费区域视频在线观看| 国产亚洲成av人片在线观看桃| 国产精品自拍视频| 欧美极品在线视频| 久久久精品欧美| 国产精品黄色影片导航在线观看| 亚洲国产99精品国自产| 欧美激情欧美激情在线五月| 日韩一二三在线视频播| 欧美日韩一区二区精品| 欧美激情一区二区久久久| 4388成人网| 中文在线资源观看视频网站免费不卡| 亚洲精品在线视频| 日韩一区二区三区xxxx| 搡老女人一区二区三区视频tv| 日韩精品亚洲元码| 欧美激情一区二区三区在线视频观看| 欧美性猛交xxxx久久久| 亚洲精品成人久久电影| 亚洲第一精品福利| 久久国产精品免费视频| 亚洲a级在线播放观看| 欧美另类老女人| 91精品中国老女人| 欧美在线视频一区二区| 日韩av在线电影网| 亚洲人成在线观看网站高清| 亚洲人成网站999久久久综合| 亚洲一区第一页| 色777狠狠综合秋免鲁丝| 91九色视频导航| 精品国产网站地址| 亚洲国产女人aaa毛片在线| 91视频国产一区| 狠狠躁夜夜躁人人爽超碰91| 欧美日韩亚洲精品一区二区三区| 日韩精品视频在线观看免费| 亚洲加勒比久久88色综合| 日韩av日韩在线观看| 亚洲欧美日本精品| 91精品久久久久久久久青青| 精品久久久视频| 国产精品流白浆视频| 国产在线视频2019最新视频| 91久久精品久久国产性色也91| 国产精品视频网| 久久免费视频在线观看| 韩国精品久久久999| 国产精品第七影院| 亚洲精品美女在线观看播放| 欧美激情小视频| 福利二区91精品bt7086| 欧美乱人伦中文字幕在线| 欧美老女人性生活| 91国产美女视频| 欧洲成人性视频| 欧美成人精品三级在线观看| 国产精品自拍偷拍| 91久久综合亚洲鲁鲁五月天| 国产成人极品视频| 人人澡人人澡人人看欧美| 精品magnet| 欧美自拍视频在线观看| 中文字幕日韩精品在线| 亚洲欧美日韩高清| 国产亚洲激情视频在线| 日韩在线播放视频| 午夜欧美大片免费观看| 成人国产在线视频| 日韩亚洲精品视频| 5252色成人免费视频| 亚洲人成网站色ww在线| 久久在精品线影院精品国产| 成人国产精品久久久久久亚洲| 久久亚洲精品一区| 欧洲成人免费aa| 日韩中文娱乐网| 欧美主播福利视频| 国产视频自拍一区| 欧美午夜精品久久久久久浪潮| 中文国产成人精品久久一| 久久男人av资源网站| 亚洲国产精品悠悠久久琪琪| 欧美电影在线观看高清| 国产成人精品视频在线| 国产免费久久av| 国产在线播放不卡| 久久久精品999| 91网站免费观看| 欧美日韩国产成人| 成人激情视频在线观看| 日韩免费中文字幕| 精品久久久久久久大神国产| 在线丨暗呦小u女国产精品| 97国产精品免费视频| 久久久人成影片一区二区三区| 国产欧美在线视频| 欧美国产日韩一区二区在线观看| 在线成人激情视频| 国产精品观看在线亚洲人成网| 亚洲国产天堂久久国产91| 欧美亚洲成人免费| 欧美激情免费看| 亚洲黄色有码视频| 国产婷婷色综合av蜜臀av| 91久久国产婷婷一区二区| 5566日本婷婷色中文字幕97| 欧美电影在线观看网站| 欧美国产乱视频| 国产成人免费av电影| 中文字幕久久久av一区| 欧美伊久线香蕉线新在线| 精品视频在线播放| 伊人久久久久久久久久久| 亚洲xxxxx性| 97精品久久久| 欧美激情成人在线视频| 中文字幕日韩精品在线| 2021国产精品视频| 精品magnet| 在线观看精品国产视频| 日韩女优在线播放| 欧美一区亚洲一区| 97视频色精品| 国产精品中文字幕在线观看| 亚洲精品日韩激情在线电影| 欧美极品少妇xxxxⅹ裸体艺术|