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

MySql官方手冊(cè)學(xué)習(xí)筆記2 MySql的模糊查詢和正則表達(dá)式

 更新時(shí)間:2012年10月12日 01:00:18   作者:  
MySQL提供標(biāo)準(zhǔn)的SQL模式匹配,以及擴(kuò)展正則表達(dá)式模式匹配的格式

SQL模式匹配允許你使用_匹配任何單個(gè)字符,而%匹配任意數(shù)目字符(包括零字符)。在 MySQL中,SQL的模式默認(rèn)是忽略大小寫的。下面給出一些例子。注意使用SQL模式時(shí),不能使用=!=;而應(yīng)使用LIKENOT LIKE比較操作符。

要想找出以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  |
+--------+--------+---------+------+------------+-------+
 

要想找出包含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提供的模式匹配的其它類型是使用擴(kuò)展正則表達(dá)式。當(dāng)你對(duì)這類模式進(jìn)行匹配測(cè)試時(shí),使用REGEXPNOT REGEXP操作符(RLIKENOT RLIKE,它們是同義詞)。

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

·         .'匹配任何單個(gè)的字符。

·         字符類[...]匹配在方括號(hào)內(nèi)的任何字符。例如,[abc]匹配a、bc。為了命名字符的范圍,使用一個(gè)“-”。[a-z]匹配任何字母,而[0-9]匹配任何數(shù)字。

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

  • 如果REGEXP模式與被測(cè)試值的任何地方匹配,模式就匹配(這不同于LIKE模式匹配,只有與整個(gè)值匹配,模式才匹配)。
  • 為了定位一個(gè)模式以便它必須匹配被測(cè)試值的開(kāi)始或結(jié)尾,在模式開(kāi)始處使用^在模式的結(jié)尾用$。

為了說(shuō)明擴(kuò)展正則表達(dá)式如何工作,下面使用REGEXP重寫上面所示的LIKE查詢:

為了找出以b開(kāi)頭的名字,使用^匹配名字的開(kāi)始:

 

mysql> SELECT * FROM pet WHERE name REGEXP '^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 |
+--------+--------+---------+------+------------+------------+
 

如果你想強(qiáng)制使REGEXP比較區(qū)分大小寫,使用BINARY關(guān)鍵字使其中一個(gè)字符串變?yōu)槎M(jìn)制字符串。該查詢只匹配名稱首字母的小寫‘b'。

 

mysql> SELECT * FROM pet WHERE name REGEXP BINARY '^b';
 

為了找出以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  |
+--------+--------+---------+------+------------+-------+
 

為了找出包含一個(gè)w的名字,使用以下查詢:

 

mysql> SELECT * FROM pet WHERE name REGEXP '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       |
+----------+-------+---------+------+------------+------------+
 

既然如果一個(gè)正則表達(dá)式出現(xiàn)在值的任何地方,其模式匹配了,就不必在先前的查詢中在模式的兩側(cè)放置一個(gè)通配符以使得它匹配整個(gè)值,就像你使用了一個(gè)SQL模式那樣。

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

 

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

相關(guān)文章

  • 淺談sql連接查詢的區(qū)別 inner,left,right,full

    淺談sql連接查詢的區(qū)別 inner,left,right,full

    下面小編就為大家?guī)?lái)一篇淺談sql連接查詢的區(qū)別 inner,left,right,full。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-10-10
  • PureFTP借助MySQL實(shí)現(xiàn)用戶身份驗(yàn)證的操作教程

    PureFTP借助MySQL實(shí)現(xiàn)用戶身份驗(yàn)證的操作教程

    這篇文章主要介紹了PureFTP借助MySQL實(shí)現(xiàn)用戶身份驗(yàn)證的操作教程,就像普通程序中的用戶注冊(cè)功能那樣為用戶登陸數(shù)據(jù)信息建立一個(gè)數(shù)據(jù)庫(kù)來(lái)進(jìn)行驗(yàn)證,需要的朋友可以參考下
    2015-12-12
  • Mysql臨時(shí)變量的具體使用

    Mysql臨時(shí)變量的具體使用

    本文主要介紹了Mysql臨時(shí)變量的具體使用,臨時(shí)變量有分為用戶變量和會(huì)話變量,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-08-08
  • MySQL事務(wù)的基礎(chǔ)學(xué)習(xí)以及心得分享

    MySQL事務(wù)的基礎(chǔ)學(xué)習(xí)以及心得分享

    本篇內(nèi)容是關(guān)于MySQL事務(wù)的基礎(chǔ)知識(shí)學(xué)習(xí)內(nèi)容,并把學(xué)習(xí)中網(wǎng)友的心得做了總結(jié),分享給大家,一起學(xué)習(xí)參考下吧。
    2017-12-12
  • 基于MySql的擴(kuò)展功能生成全局ID

    基于MySql的擴(kuò)展功能生成全局ID

    本文借用 MySQL的擴(kuò)展功能 REPLACE INTO 來(lái)生成全局id,REPLACE INTO和INSERT的功能一樣,但是當(dāng)使用REPLACE INTO插入新數(shù)據(jù)行時(shí),如果新插入的行的主鍵或唯一鍵(UNIQUE Key)已有的行重復(fù)時(shí),已有的行會(huì)先被刪除,然后再將新數(shù)據(jù)行插入
    2015-12-12
  • mysql查詢字符串替換語(yǔ)句小結(jié)(數(shù)據(jù)庫(kù)字符串替換)

    mysql查詢字符串替換語(yǔ)句小結(jié)(數(shù)據(jù)庫(kù)字符串替換)

    有時(shí)候我們需要對(duì)mysql的字符串進(jìn)行替換,我們就可以通過(guò)sql語(yǔ)句直接實(shí)現(xiàn)了,不過(guò)對(duì)于大數(shù)據(jù)量的字段不建議使用此方法
    2012-07-07
  • 在MySQL中使用Sphinx實(shí)現(xiàn)多線程搜索的方法

    在MySQL中使用Sphinx實(shí)現(xiàn)多線程搜索的方法

    這篇文章主要介紹了在MySQL中使用Sphinx實(shí)現(xiàn)多線程搜索的方法,修改Sphinx的搜索引擎配置即可,需要的朋友可以參考下
    2015-06-06
  • Mysql Sql 語(yǔ)句練習(xí)題(50道)

    Mysql Sql 語(yǔ)句練習(xí)題(50道)

    mysql一直作為比較熱門的數(shù)據(jù)庫(kù)存儲(chǔ),搭配php使用簡(jiǎn)直是絕配,mysql的sql語(yǔ)句也是很重要的一門課,這里為大家分享一下sql語(yǔ)句,大家可以試試
    2020-12-12
  • Windows10 64位安裝MySQL5.6.35的圖文教程

    Windows10 64位安裝MySQL5.6.35的圖文教程

    這篇文章主要介紹了Windows10 64位安裝MySQL5.6.35的圖文教程,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-02-02
  • 淺談mysql explain中key_len的計(jì)算方法

    淺談mysql explain中key_len的計(jì)算方法

    下面小編就為大家?guī)?lái)一篇淺談mysql explain中key_len的計(jì)算方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-04-04

最新評(píng)論

沈阳市| 宁晋县| 温州市| 华池县| 天峻县| 岑溪市| 青川县| 会同县| 桂平市| 泰宁县| 五常市| 巩义市| 阿克陶县| 阆中市| 咸宁市| 疏附县| 宁阳县| 凤冈县| 阜新市| 府谷县| 绥棱县| 廊坊市| 湖北省| 蒲城县| 连平县| 马龙县| 台北市| 增城市| 东乡县| 祁东县| 秦安县| 称多县| 饶平县| 阳江市| 景泰县| 兰西县| 兴义市| 广西| 泾川县| 温泉县| 得荣县|