操屁眼的视频在线免费看,日本在线综合一区二区,久久在线观看免费视频,欧美日韩精品久久综

新聞資訊

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

    相關(guān)鏈接:

    MySql官方手冊學(xué)習(xí)筆記1—MySql簡單上手

    MySQL提供標準的SQL模式匹配,以及擴展正則表達式模式匹配的格式。

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

    要想找出以“b”開頭的名字:

    mysql> * FROM pet WHERE name LIKE 'b%';

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

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

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

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

    | | Diane | dog | m | 1989-08-31 | 1995-07-29 |

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

    要想找出以“fy”結(jié)尾的名字:

    mysql> * FROM pet WHERE name LIKE '%fy';

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

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

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

    | | | cat | f | 1993-02-04 | NULL |

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

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

    要想找出包含“w”的名字:

    mysql> * FROM pet WHERE name LIKE '%w%';

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

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

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

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

    | | Diane | dog | m | 1989-08-31 | 1995-07-29 |

    | | Gwen | bird | NULL | 1997-12-09 | NULL |

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

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

    mysql> * FROM pet WHERE name LIKE '_____';

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

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

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

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

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

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

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

    擴展正則表達式的一些字符是:

    · ‘.’匹配任何單個的字符。

    · 字符類“[...]”匹配在方括號內(nèi)的任何字符。例如,“[abc]”匹配“a”、“b”或“c”。為了命名字符的范圍mysql模糊查詢關(guān)鍵字,使用一個“-”。“[a-z]”匹配任何字母,而“[0-9]”匹配任何數(shù)字。

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

    如果模式與被測試值的任何地方匹配,模式就匹配(這不同于LIKE模式匹配,只有與整個值匹配,模式才匹配)。

    為了定位一個模式以便它必須匹配被測試值的開始或結(jié)尾mysql模糊查詢關(guān)鍵字,在模式開始處使用“^”或在模式的結(jié)尾用“$”。

    為了說明擴展正則表達式如何工作,下面使用重寫上面所示的LIKE查詢:

    為了找出以“b”開頭的名字,使用“^”匹配名字的開始:

    mysql> * FROM pet WHERE name '^b';

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

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

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

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

    | | Diane | dog | m | 1989-08-31 | 1995-07-29 |

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

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

    mysql> * FROM pet WHERE name '^b';

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

    mysql> * FROM pet WHERE name 'fy$';

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

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

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

    | | | cat | f | 1993-02-04 | NULL |

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

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

    為了找出包含一個“w”的名字,使用以下查詢:

    mysql> * FROM pet WHERE name 'w';

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

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

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

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

    | | Diane | dog | m | 1989-08-31 | 1995-07-29 |

    | | Gwen | bird | NULL | 1997-12-09 | NULL |

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

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

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

    mysql> * FROM pet WHERE name '^.....$';

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

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

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

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

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

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

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

    mysql> * FROM pet WHERE name '^.{5}$';

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

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

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

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

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

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

網(wǎng)站首頁   |    關(guān)于我們   |    公司新聞   |    產(chǎn)品方案   |    用戶案例   |    售后服務(wù)   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區(qū)    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權(quán)所有