MySQL WHERE 篩選資料

2021-08-29 08:00:33 字數 2710 閱讀 6314

select

field1,

field2

from

table_name

where

field1 = value1 [

and|

or] field2 = value2

運算子支援 =、!=、>、<、>=、<=、<=> 、in、link、regexp

邏輯操作支援 and、or 且 and 優先順序大於 or

//結構

create

table

`user`(

`id`

int(11)

unsigned

notnull

auto_increment

,`name`

varchar(10

)not

null

,`age`

tinyint(4

)not

null

,`***`

tinyint(4

)not

null

,`tel`

char(11

)not

null

,primary

key(

`id`))

engine

=innodb

default

character

set utf8;

//單條件查詢

select

*from

`user

`where

`id`=1

;//and查詢

select

*from

`user

`where

`name`

='張三'

and`***`=1

;//or查詢

select

*from

`user

`where

`name`

='張三'

or`name`

='李四'

;//查詢子句

select

*from

`user

`where

(`name`

='張三'

or`name`

='李四'

)and

`***`=1

;//in查詢

select

*from

`user

`where

`name`in(

'張三'

,'李四'

,'王五');

//like 模糊查詢 '%'代表任意字元 '_'代表佔位符

select

*from

`user

`where

`name`

like

'張%'

;//regexp 正則查詢

select

*from

`user

`where

`name`

regexp

'^[張王].*'

;//between 範圍查詢 查詢兩個值之間的資料且包含這兩個值

select

*from

`user

`where

`tel`

between

'13800138001'

and'13800138003'

;

like 萬用字元

萬用字元描述%

替代乙個或多個字元

_僅替代乙個字元

[charlist]

字元列中的任何單一字元

[^charlist]、[!charlist]

不在字元列中的任何單一字元

regexp 正規表示式

關鍵字描述^

匹配輸入字串的開始位置。如果設定了 regexp 物件的 multiline 屬性,^ 也匹配 『\n』 或 『\r』 之後的位置

$匹配輸入字串的結束位置。如果設定了regexp 物件的 multiline 屬性,$ 也匹配 『\n』 或 『\r』 之前的位置

.匹配除 「\n」 之外的任何單個字元。要匹配包括 『\n』 在內的任何字元,請使用象 『[.\n]』 的模式

[…]字元集合。匹配所包含的任意乙個字元。例如, 『[abc]』 可以匹配 「plain」 中的 『a』

[^…]

負值字元集合。匹配未包含的任意字元。例如, 『[^abc]』 可以匹配 「plain」 中的』p』

p1|p2|p3

匹配 p1 或 p2 或 p3。例如,『z|food』 能匹配 「z」 或 「food」。』(z|f)ood』 則匹配 「zood」 或 「food」

*匹配前面的子表示式零次或多次。例如,zo* 能匹配 「z」 以及 「zoo」。* 等價於。

+匹配前面的子表示式一次或多次。例如,『zo+』 能匹配 「zo」 以及 「zoo」,但不能匹配 「z」。+ 等價於

n是乙個非負整數。匹配確定的 n 次。例如,『o』 不能匹配 「bob」 中的 『o』,但是能匹配 「food」 中的兩個 o

m 和 n 均為非負整數,其中n <= m。最少匹配 n 次且最多匹配 m 次

MySQL WHERE搜尋資料

我們在使用資料庫提取資料的時候一般都不會整行都需要,往往是提取符合條件的子集資料。因此有必要增加乙個搜尋條件來精確查詢我們需要的資料。where將會幫助我們搜尋資料.我們先來看一下由產品名稱和 組成的資料 如果我現在想要買名為fuses的產品,我想快速知道它的 我們可以 如果我想購買的價位在10 3...

MySQL WHERE資料過濾(一)

在select語句中,可以對資料根據where子句指定的搜尋條件進行過濾。where子句在表名 from子句 之後給出,其格式如下所示 select 列名 from 表名 where 搜尋條件 where子句位置 where子句應位於表名 from子句 之後。在同時使用order by子句時,ord...

MySQL WHERE資料過濾(二)

為了更強的過濾控制,mysql允許給出多個where子句。這些子句可以兩種方式組合 以and子句的方式或or子句的方式使用。1.and操作符 為了不止乙個列進行過濾,可使用and操作符給where子句附加條件。下面給出示例 mysql select prod id,prod price,prod n...