首頁 > 資料庫 > mysql教程 > mysql中模糊查詢語法是什麼?

mysql中模糊查詢語法是什麼?

青灯夜游
發布: 2020-09-30 16:23:35
原創
9004 人瀏覽過

mysql中模糊查詢語法是什麼?

MySQL LIKE模糊查詢

我們知道在MySQL 中使用SQL SELECT 指令來讀取數據, 同時我們可以在SELECT 語句中使用WHERE 子句來取得指定的記錄。

WHERE 子句中可以使用等號 = 來設定取得資料的條件,如 "runoob_author = 'RUNOOB.COM'"。

但有時我們需要取得 runoob_author 欄位含有 "COM" 字元的所有記錄,這時我們就需要在 WHERE 子句中使用 SQL LIKE 子句。

SQL LIKE 子句中使用百分號 %字符來表示任意字符,類似於UNIX或正規表示式中的星號 *。

如果沒有使用百分號 %, LIKE 子句與等號 = 的效果是一樣的。

語法

以下是SQL SELECT 語句使用LIKE 子句從資料表中讀取資料的通用語法:

SELECT field1, field2,...fieldN 
FROM table_name
WHERE field1 LIKE condition1 [AND [OR]] filed2 = 'somevalue'
登入後複製
  • 你可以在WHERE子句中指定任何條件。

  • 你可以在 WHERE 子句中使用LIKE子句。

  • 你可以用LIKE子句代替等號 =。

  • LIKE 通常與 % 一同使用,類似於一個元字元的搜尋。

  • 你可以使用 AND 或 OR 來指定一個或多個條件。

  • 你可以在 DELETE 或 UPDATE 指令中使用 WHERE...LIKE 子句來指定條件。

mysql中模糊查詢的四種用法:

一.%:表示任意0個或多個字元。可匹配任意類型和長度的字符,有些情況下若是中文,請使用兩個百 分號(%%)表示。

*註:like '%龍%':查詢出所有含有「龍」的記錄

1. 所查詢欄位like '%龍%'

eg:select * from user where realname like '%龍%'

把含有「龍」字的realname 欄位搜尋出來

 

#2. 所查詢字段like '%龍%' and 所查詢字段like '%文%'

eg: select * from user where realname like '%龍%' and realname like '%文%'

= 所查詢字段like '%文%' and 所查詢字段like '%龍%'

eg: select * from user where realname like '%文% ' and realname like '%龍%'

3. 查詢出所有含有「龍」同時又有「文」的記錄

realname like'%龍%文%':查詢所有「龍文」記錄,可以是「龍_文」「_龍文」「龍文_」

                                                      中下「龍」的後面,「龍」字在後面,「文字」字上

c%#se"#n;

realname like'%文%龍%':

查詢所有「文龍」記錄,可是「文_龍」「_文龍」「文龍_」

               字須在前面,「龍」字在後面

select * from user where realname like '%文%龍%'

##二._:表示任意單一字元。匹配單一任意字符,它常用來限製表達式的字符長度語句:

1.查詢出中間含有“林”字的realname字段

(前提:名字三個字)

select * from user where realname like '_林_'

=select * from user where realname like '%_林_%' 只能查詢出類似「餘林文」這樣的realname為三個字且中間一個字為:「林」

2.查詢出姓林的姓名

(名字三個字)

select * from user where realname like'林__'

(這裡有兩橫槓)=select * from user where realname like '%林__%'(這裡有兩橫槓)

查詢出姓「林」的realname,且realname的字數必須為3

#3.查詢名字最後一個字為「林」的姓名(名字三個字)

select * from user where realname like '__林'(這裡有兩橫槓)

= select * from user where realname like '%__林%'(這裡有兩橫槓)

查詢出姓名最後一個字為「林」的姓名,且realname的字數必須為3

#4.查詢出姓林的姓名 (姓名只有兩個字)

select * from user where realname like '林_'

##查詢出姓林的姓名(姓名可以是兩個字,也可以是三個字

select * from user where realname like '%林_%'

5.查詢名字最後一個字為「林」的姓名(姓名只有兩個字

select * from user where realname like '_林'

#查詢名字最後一個字為「林」的姓名(名字可以有兩個字,也可以是三個字)

select * from user where realname like '%_林%'

三.[ ]:表示括號內所列字元中的一個(類似正規表示式)。指定一個字元、字串或範圍,要求所匹配物件為它們中的任一個。

select * from user where realname like '[張蔡王]傑'

#查詢出“張傑”,“蔡傑”,“王傑”

(而不是“張蔡王傑」)

如[ ] 內有一系列字符(01234、abcde之類的)則可略寫為“0-4”、“a-e” 

#select * from user where realname like '林[1-9]'將會查詢出「林1」「林2」......「林9」

四.[^ ] :表示不在括號所列之內的單一字元。其取值和 [] 相同,但它要求所匹配物件為指定字元以外的任一個字元。

select * from user where realname like '[^張蔡王]傑'

#查詢出不姓“張”,“蔡”,“王”的“林杰”,“趙傑”等

select * from user where realname like '林[^1-4]'

#將排除“林1”到“林4”,尋找“林5”、 「林6」、… 

推薦教學:

mysql影片教學#

以上是mysql中模糊查詢語法是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板