SELECT*FROMpetWHEREnameLIKE"b%";+--------+--------+---------+------+-------" />

黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

MySQL 通配符學(xué)習(xí)小結(jié)

系統(tǒng) 2306 0

MySQL 通配符

?

SQL的模式匹配同意你使用“_”匹配不論什么單個字符,而“%”匹配隨意數(shù)目字符(包含零個字符)。在 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”結(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 |
+--------+--------+---------+------+------------+-------+

?

為了找出包括一個“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 |
+-------+--------+---------+------+------------+-------+

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

?

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

“.”匹配不論什么單個的字符。
一個字符類“ [...] ”匹配在方括號內(nèi)的不論什么字符。比如,“[abc]”匹配“a”、“b”或“c”。為了命名字符的一個范圍,使用一個 “-”。“[a-z ] ” 匹配不論什么小寫字母,而“[0-9]”匹配不論什么數(shù)字。
* ”匹配零個或多個在它前面的東西。比如,“x*”匹配不論什么數(shù)量的“x”字符,“[0-9]*”匹配的不論什么數(shù)量的數(shù)字,而“.*”匹配不論什么數(shù)量的不論什么東西。
正則表達(dá)式是區(qū)分大寫和小寫的,可是假設(shè)你希望,你能使用一個字符類匹配兩種寫法。比如,“[aA]”匹配小寫或大寫的“a”而“[a-zA-Z]”匹配兩種寫法的不論什么字母。

假設(shè)它出如今被測試值的不論什么地方,模式就匹配(僅僅要他們匹配整個值,SQL模式匹配)。
為了定位一個模式以便它必須匹配被測試值的開始或結(jié)尾,在模式開始處使用“^”或在模式的結(jié)尾用“$”。
為了說明擴(kuò)展正則表達(dá)式怎樣工作,上面所看到的的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”結(jié)尾的名字,使用“$”匹配名字的結(jié)尾:

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 |
+----------+-------+---------+------+------------+------------+

既然假設(shè)一個正規(guī)表達(dá)式出如今值的不論什么地方,其模式匹配了,就不必再先前的查詢中在模式的雙方面放置一個通配符以使得它匹配整個值,就像假設(shè)你使用了一個SQL模式那樣。

?

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

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次”操作符重寫先前的查詢:

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 |
+-------+--------+---------+------+------------+-------+

?

http://www.playhosts.com/bbs/read.php?tid=12357

=====================================================================

?

MySQL 通配符學(xué)習(xí)小結(jié)


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論