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

mysql通配符的具體使用

 更新時間:2023年05月23日 11:13:09   作者:1.01  
通配符用于替換字符串中的一個或多個字符,通配符與LIKE運算符一起使用,本文就詳細的介紹了mysql通配符的使用,具有一定的參考價值,感興趣的可以了解一下

概念:

通配符(wildcard)

即:用來匹配值的一部分的特殊字符。

搜索模式(search pattern)

即:由字面值、通配符或兩者組合構(gòu)成的搜索條件。

1、 百分號(%)通配符

最常使用的通配符是百分號(%)。在搜索串中,%表示任何字符出現(xiàn)任意次數(shù)。匹配時,一般是不區(qū)分大小寫的,但是根據(jù)MySQL的配置方式,搜索可以是區(qū)分大小寫的,加BINARY關(guān)鍵字。

SELECT id, name FROM test_table WHERE BINARY info LIKE '%ab%ed';

重要的是要注意到,除了一個或多個字符外,%還能匹配0個字符。%代表搜索模式中給定位置的0個、1個或多個字符,例如:

SELECT id, name FROM test_table WHERE info LIKE '%ab%ed';

注意尾空格 尾空格可能會干擾通配符匹配。例如,在保存詞anvil 時, 如果它后面有一個或多個空格, 則子句WHERE prod_name LIKE '%anvil’將不會匹配它們,因為在最后的l后有多余的字符。解決這個問題的一個簡單的辦法是在搜索模式最后附加一個%。一個更好的辦法是使用函數(shù)(trim())去掉首尾空格,函數(shù)Trim()、RTrim()、LTrim();

注意NULL 雖然似乎%通配符可以匹配任何東西,但有一個例外,即NULL。即使是WHERE prod_name LIKE '%'也不能匹配用值NULL作為產(chǎn)品名的行。

2、 下劃線(_)通配符

下劃線的用途與%一樣,但下劃線只匹配單個字符而不是多個字符。

與%能匹配0個字符不一樣,_總是匹配一個字符,不能多也不能少。

【注】MySQL的通配符很有用。但這種功能是有代價的:通配符搜索的處理一般要比其他搜索所花時間更長。這里給出一些使用通配符要記住的技巧。

不要過度使用通配符。如果其他操作符能達到相同的目的,應(yīng)該使用其他操作符。
在確實需要使用通配符時,除非絕對有必要,否則不要把它們用在搜索模式的開始處。把通配符置于搜索模式的開始處,搜索起來是最慢的。
仔細注意通配符的位置。如果放錯地方,可能不會返回想要的數(shù)據(jù)

3、使用通配符時易忽略的一個問題

以上述 a 表為例:

當我們要查詢以exp_asd_10_開頭的數(shù)據(jù)時,sql語句應(yīng)該如何去寫?

select * from a where name like 'exp_asd_10_%'

查詢結(jié)果:

很自信的執(zhí)行了這條sql語句,你會發(fā)現(xiàn)結(jié)果并不是自己所預(yù)期的那樣,執(zhí)行上面的sql語句會把所有的以exp_asd_10開頭的數(shù)據(jù)都查找到

原因:

在sql中,下劃線_也是一個通配符,能匹配任意一個字符,像上面那樣寫的話。

正確的寫法應(yīng)該是:

select * from a where name like 'exp\_asd\_10\_%'

在_通配符前面加上轉(zhuǎn)義字符\,這樣mysql就會把下劃線通配符視為普通字符

到此這篇關(guān)于mysql通配符的具體使用的文章就介紹到這了,更多相關(guān)mysql通配符內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MySQL的鎖機制及排查鎖問題解析

    MySQL的鎖機制及排查鎖問題解析

    MySQL的鎖機制包括行鎖和表鎖,行鎖進一步細分為RecordLock、GapLock和Next-keyLock,行鎖因其細粒度而減少沖突但開銷大,可能引起死鎖,本文介紹MySQL的鎖機制及排查鎖問題,感興趣的朋友一起看看吧
    2025-01-01
  • MySQL5.7并行復(fù)制原理及實現(xiàn)

    MySQL5.7并行復(fù)制原理及實現(xiàn)

    MySQL 5.7并行復(fù)制的思想簡單易懂,本文就詳細的介紹了MySQL5.7并行復(fù)制原理及實現(xiàn),需要的朋友們下面隨著小編來一起學習學習吧
    2021-06-06
  • MySql日期查詢語句詳解

    MySql日期查詢語句詳解

    在mysql中對時間日期操作的函數(shù)有很多,有時我們就希望直接通過sql查詢出指定日期的數(shù)據(jù)
    2013-11-11
  • 重置MySQL中表中自增列的初始值的實現(xiàn)方法

    重置MySQL中表中自增列的初始值的實現(xiàn)方法

    這篇文章主要介紹了重置MySQL中表中自增列的初始值的實現(xiàn)方法的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • mysql中drop、truncate與delete的區(qū)別詳析

    mysql中drop、truncate與delete的區(qū)別詳析

    對于drop、truncate和delete雖然簡單,但是真要使用或者面試時候問到還是需要有一定的總結(jié),下面這篇文章主要給大家介紹了關(guān)于mysql中drop、truncate與delete區(qū)別的相關(guān)資料,需要的朋友可以參考下
    2022-03-03
  • Mysql更換MyISAM存儲引擎為Innodb的操作記錄總結(jié)

    Mysql更換MyISAM存儲引擎為Innodb的操作記錄總結(jié)

    下面小編就為大家?guī)硪黄狹ysql更換MyISAM存儲引擎為Innodb的操作記錄總結(jié)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • 如何解決MySQL?this?is?incompatible?with?sql_mode=only_full_group_by問題

    如何解決MySQL?this?is?incompatible?with?sql_mode=only_full_

    MySQL的ONLY_FULL_GROUP_BY模式要求在使用GROUP?BY時,SELECT語句中引用的所有列必須在GROUP?BY子句中明確指定,或者是聚合函數(shù)的一部分,本文提供了修改SQL語句、使用聚合函數(shù)、禁用ONLY_FULL_GROUP_BY等解決方法,并強調(diào)了在禁用該模式時應(yīng)評估其影響
    2024-11-11
  • Centos 6.3將Mysql 5.1.61升級為mysql 5.6.19遇到的問題及解決方式

    Centos 6.3將Mysql 5.1.61升級為mysql 5.6.19遇到的問題及解決方式

    mysql5.6.19已經(jīng)發(fā)布很久了,一直沒有去升級,最近做項目需要mysql5.5以上,索性直接上5.6.19吧,原本以為升級這種事情,分分鐘就完成了,沒想到還是出了各種問題,下面把部分記錄分享給大家
    2014-07-07
  • MySQL數(shù)據(jù)庫管理常用命令小結(jié)

    MySQL數(shù)據(jù)庫管理常用命令小結(jié)

    MySQL數(shù)據(jù)庫是一種開放源代碼的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),MySQL數(shù)據(jù)庫系統(tǒng)使用最常用的數(shù)據(jù)庫管理語言--結(jié)構(gòu)化查詢語言(SQL)進行數(shù)據(jù)庫管理,MySQL數(shù)據(jù)庫管理有它自己獨特的使用命令,下面為您介紹MySQL數(shù)據(jù)庫管理常用命令。
    2011-03-03
  • MySQL創(chuàng)建、修改和刪除表操作指南

    MySQL創(chuàng)建、修改和刪除表操作指南

    MySQL是最常用的數(shù)據(jù)庫,在數(shù)據(jù)庫操作中,基本都是增刪改查操作,簡稱CRUD,下面這篇文章主要給大家介紹了關(guān)于MySQL創(chuàng)建、修改和刪除表的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-08-08

最新評論