欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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)是忽略大小寫(xiě)的。下面給出一些例子。注意使用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重寫(xiě)上面所示的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ū)分大小寫(xiě),使用BINARY關(guān)鍵字使其中一個(gè)字符串變?yōu)槎M(jìn)制字符串。該查詢只匹配名稱首字母的小寫(xiě)‘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次”操作符重寫(xiě)前面的查詢:

 

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)文章

  • 修改mysql密碼與忘記mysql密碼的處理方法

    修改mysql密碼與忘記mysql密碼的處理方法

    修改mysql密碼與忘記mysql密碼的處理方法,有需要的朋友可以參考下
    2013-02-02
  • MySQL如何生成自增的流水號(hào)

    MySQL如何生成自增的流水號(hào)

    這篇文章主要介紹了MySQL如何生成自增的流水號(hào)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • 解決MySQL8.0時(shí)區(qū)的問(wèn)題步驟

    解決MySQL8.0時(shí)區(qū)的問(wèn)題步驟

    這篇文章主要介紹了解決MySQL8.0時(shí)區(qū)的問(wèn)題步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • MySQL中表索引定義的方法與介紹

    MySQL中表索引定義的方法與介紹

    這篇文章主要給大家介紹了關(guān)于MySQL中表索引定義的方法與介紹,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用MySQL具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • 配置mysql允許遠(yuǎn)程連接的方法

    配置mysql允許遠(yuǎn)程連接的方法

    默認(rèn)情況下,MySQL只允許本地登錄,如果要開(kāi)啟遠(yuǎn)程連接,則需要修改/etc/my.cnf文件
    2013-02-02
  • MySQL中使用去重distinct方法的示例詳解

    MySQL中使用去重distinct方法的示例詳解

    這篇文章主要介紹了MySQL中使用去重distinct方法的示例詳解。distinct用來(lái)查詢不重復(fù)記錄的條數(shù),distinct表示對(duì)后面的所有參數(shù)的拼接取 不重復(fù)的記錄,即查出的參數(shù)拼接每行記錄都是唯一的。地產(chǎn)感興趣的可以了解一下
    2020-07-07
  • mysql中判斷記錄是否存在方法比較

    mysql中判斷記錄是否存在方法比較

    把數(shù)據(jù)寫(xiě)入到數(shù)據(jù)庫(kù)的時(shí),常常會(huì)碰到先要檢測(cè)要插入的記錄是否存在,然后決定是否要寫(xiě)入。
    2011-07-07
  • 找回MySQL管理員root密碼的3個(gè)妙招

    找回MySQL管理員root密碼的3個(gè)妙招

    最近筆者的一臺(tái)mysql服務(wù)器忘記了超級(jí)管理員root密碼,而mysql修改密碼必須得知道舊密碼的情況下才能進(jìn)行,真的很郁悶,找了很多方法都無(wú)?效,最終找到了解決方法,下面把mysql?root密碼找回妙招分享給大家,感興趣的朋友一起看看吧
    2022-11-11
  • MySQL新手入門(mén)進(jìn)階語(yǔ)句匯總

    MySQL新手入門(mén)進(jìn)階語(yǔ)句匯總

    這篇文章主要給大家介紹了關(guān)于MySQL新手入門(mén)進(jìn)階語(yǔ)句的相關(guān)資料,總結(jié)分析了MySQL數(shù)據(jù)庫(kù)常用的查詢、條件查詢、排序、連接查詢、子查詢等相關(guān)操作技巧,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2022-09-09
  • MySQL中使用表別名與字段別名的基本教程

    MySQL中使用表別名與字段別名的基本教程

    這篇文章主要介紹了MySQL中使用表別名與字段別名的基本教程,利用SELECT語(yǔ)句和AS子句進(jìn)行取別名的操作,需要的朋友可以參考下
    2015-12-12

最新評(píng)論