激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務(wù)器之家:專(zhuān)注于服務(wù)器技術(shù)及軟件下載分享
分類(lèi)導(dǎo)航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數(shù)據(jù)庫(kù)技術(shù)|

服務(wù)器之家 - 數(shù)據(jù)庫(kù) - Mysql - MySQL 字符串模式匹配 擴(kuò)展正則表達(dá)式模式匹配

MySQL 字符串模式匹配 擴(kuò)展正則表達(dá)式模式匹配

2019-11-06 13:43mysql教程網(wǎng) Mysql

MySQL提供標(biāo)準(zhǔn)的SQL模式匹配,以及一種基于象Unix實(shí)用程序如vi、grep和sed的擴(kuò)展正則表達(dá)式模式匹配的格式。

標(biāo)準(zhǔn)的SQL模式匹配

SQL的模式匹配允許你使用“_”匹配任何單個(gè)字符,而“%”匹配任意數(shù)目字符(包括零個(gè)字符)。在 MySQL中,SQL的模式缺省是忽略大小寫(xiě)的。下面顯示一些例子。注意在你使用SQL模式時(shí),你不能使用=或!=;而使用LIKE或NOT LIKE比較操作符。

例如,在表pet中,為了找出以“b”開(kāi)頭的名字:

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”結(jié)尾的名字:

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 |

+--------+--------+---------+------+------------+-------+

為了找出包含一個(gè)“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個(gè)字符的名字,使用“_”模式字符:

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 |

+-------+--------+---------+------+------------+-------+

MySQL提供標(biāo)準(zhǔn)的SQL模式匹配,以及一種基于象Unix實(shí)用程序如vi、grep和sed的擴(kuò)展正則表達(dá)式模式匹配的格式。

擴(kuò)展正則表達(dá)式模式匹配

由MySQL提供的模式匹配的其他類(lèi)型是使用擴(kuò)展正則表達(dá)式。當(dāng)你對(duì)這類(lèi)模式進(jìn)行匹配測(cè)試時(shí),使用REGEXP和NOT REGEXP操作符(或RLIKE和NOT RLIKE,它們是同義詞)。

擴(kuò)展正則表達(dá)式的一些字符是:

“.”匹配任何單個(gè)的字符。

一個(gè)字符類(lèi)“[...]”匹配在方括號(hào)內(nèi)的任何字符。例如,“[abc]”匹配“a”、“b”或“c”。為了命名字符的一個(gè)范圍,使用一個(gè)“-”。

“[a-z]”匹配任何小寫(xiě)字母,而“[0-9]”匹配任何數(shù)字。

“ * ”匹配零個(gè)或多個(gè)在它前面的東西。例如,“x*”匹配任何數(shù)量的“x”字符,“[0-9]*”匹配的任何數(shù)量的數(shù)字,而“.*”匹配任何數(shù)量的任何東西。

正則表達(dá)式是區(qū)分大小寫(xiě)的,但是如果你希望,你能使用一個(gè)字符類(lèi)匹配兩種寫(xiě)法。例如,“[aA]”匹配小寫(xiě)或大寫(xiě)的“a”而“[a-zA-Z]”匹配兩種寫(xiě)法的任何字母。

如果它出現(xiàn)在被測(cè)試值的任何地方,模式就匹配(只要他們匹配整個(gè)值,SQL模式匹配)。

為了定位一個(gè)模式以便它必須匹配被測(cè)試值的開(kāi)始或結(jié)尾,在模式開(kāi)始處使用“^”或在模式的結(jié)尾用“$”。

為了說(shuō)明擴(kuò)展正則表達(dá)式如何工作,上面所示的LIKE查詢(xún)?cè)谙旅媸褂肦EGEXP重寫(xiě):

為了找出以“b”開(kāi)頭的名字,使用“^”匹配名字的開(kāi)始并且“[bB]”匹配小寫(xiě)或大寫(xiě)的“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”結(jié)尾的名字,使用“$”匹配名字的結(jié)尾:

?
1
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 |

+--------+--------+---------+------+------------+-------+

為了找出包含一個(gè)“w”的名字,使用“[wW]”匹配小寫(xiě)或大寫(xiě)的“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       |

+----------+-------+---------+------+------------+------------+

既然如果一個(gè)正規(guī)表達(dá)式出現(xiàn)在值的任何地方,其模式匹配了,就不必再先前的查詢(xún)中在模式的兩方面放置一個(gè)通配符以使得它匹配整個(gè)值,

就像如果你使用了一個(gè)SQL模式那樣。

為了找出包含正好5個(gè)字符的名字,使用“^”和“$”匹配名字的開(kāi)始和結(jié)尾,和5個(gè)“.”實(shí)例在兩者之間:

?
1
mysql> SELECT * FROM pet WHERE name REGEXP "^.....$";

 

+-------+--------+---------+------+------------+-------+

| name | owner | species | sex | birth      | death |

+-------+--------+---------+------+------------+-------+

| Claws | Gwen   | cat     | m    | 1994-03-17 | NULL |

| Buffy | Harold | dog     | f    | 1989-05-13 | NULL |

+-------+--------+---------+------+------------+-------+

你也可以使用“{n}”“重復(fù)n次”操作符重寫(xiě)先前的查詢(xún):

?
1
mysql> SELECT * FROM pet WHERE name REGEXP "^.{5}$";

 

+-------+--------+---------+------+------------+-------+

| name | owner | species | sex | birth      | death |

+-------+--------+---------+------+------------+-------+

| Claws | Gwen   | cat     | m    | 1994-03-17 | NULL |

| Buffy | Harold | dog     | f    | 1989-05-13 | NULL |

+-------+--------+---------+------+------------+-------+

總結(jié)

本介紹了有關(guān)字符串模式匹配的有關(guān)知識(shí)。標(biāo)準(zhǔn)的SQL模式匹配是SQL語(yǔ)言的標(biāo)準(zhǔn),可以被其它關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)接受。擴(kuò)展正規(guī)表達(dá)式模式匹配

是根據(jù)Unix系統(tǒng)的標(biāo)準(zhǔn)開(kāi)發(fā)了,一般只可使用在MySQL上,但是其功能要比標(biāo)準(zhǔn)的SQL模式匹配更強(qiáng)。

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25
主站蜘蛛池模板: 国产91在线播放九色 | 精品国产一区二区三区成人影院 | 国产午夜精品理论片a级探花 | 日韩视频www | 羞羞视频免费入口网站 | 成年人视频免费 | 99国语露脸久久精品国产ktv | 亚洲成人精品久久 | 日韩字幕 | 成人毛片av在线 | 91丝袜| 国产自91精品一区二区 | 国产一级一国产一级毛片 | 色屁屁xxxxⅹ免费视频 | 成人综合一区二区 | 欧美一区黄 | 午夜色视频在线观看 | 法国极品成人h版 | 国产精品99免费视频 | 日韩视频一区二区在线观看 | 色婷婷久久久久久 | 免费看性xxx高清视频自由 | 国内性爱视频 | 成人不卡一区二区 | av在线大全 | xxxx hd videos | 亚洲伊人色欲综合网 | 免费国产自久久久久三四区久久 | 欧美色淫 | 国产成人在线视频 | 国产精品久久久久影院老司 | 亚洲涩涩图 | 2021免费日韩视频网 | 久久精品视频4 | 久久精品欧美视频 | 国内免费视频成人精品 | 视频一区二区三区免费观看 | 精品三区视频 | 国产成人精品一区二区视频免费 | 91高清国产视频 | 久久国产一级 |