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

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 字段搜索出來

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

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 ‘%龍%’

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

3. 查詢出既含有“龍”同時又有“文”的所有記錄

realname like’%龍%文%’:查詢所有“龍文”記錄,可以是“龍_文”“_龍文”“龍文_”

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?“龍”字須在前面,“文”字在后面

select * from user where realname like ‘%龍%文%’

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

realname like’%文%龍%’:查詢所有“文龍”記錄,可以是“文_龍”“_文龍”“文龍_”

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?“文”字須在前面,“龍”字在后面

select * from user where realname like ‘%文%龍%’

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

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

1.查詢出中間含有“林”字的realname字段(前提:名字三個字)

select * from user where realname like ‘_林_’

=select * from user where realname like ‘%_林_%’

只能查詢出類似“余林文”這樣的realname為三個字且中間一個字為:“林”

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

2.查詢出姓林的姓名(名字三個字)

select * from user where realname like’林__’(這里有兩橫杠)

=select * from user where realname like ‘%林__%’(這里有兩橫杠)

查詢出姓“林”的realname,且realname的字數必須為3

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

3.查詢名字最后一個字為“林”的姓名(名字三個字)

select * from user where realname like ‘__林’(這里有兩橫杠)

= select * from user where realname like ‘%__林%’(這里有兩橫杠)

查詢出姓名最后一個字為“林”的姓名,且realname的字數必須為3

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

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

select * from user where realname like ‘林_’

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

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

select * from user where realname like ‘%林_%’

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

5.查詢名字最后一個字為“林”的姓名(姓名只有兩個字

select * from user where realname like ‘_林’

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

查詢名字最后一個字為“林”的姓名(姓名可以有兩個字,也可以是三個字)

select * from user where realname like ‘%_林%’

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

三.[ ]:表示括號內所列字符中的一個(類似正則表達式)。指定一個字符、字符串或范圍,要求所匹配對象為它們中的任一個。

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視頻教程

以上就是

? 版權聲明
THE END
喜歡就支持一下吧
點贊9 分享