MySQL必知必會 過濾資料

2021-10-06 06:12:58 字數 2689 閱讀 5435

「基礎過濾」包括以下內容:

面向已知值,進行過濾

where操作符的使用

非組合過濾、組合過濾

where:表示過濾條件

// 基礎語法

select field from tb where condition;

要點:1.面向被檢索的所有資料(並非對查詢結果進行過濾)。

2.可以根據非檢索列進行過濾(建議實踐)。

2.sql過濾比起應用程式過濾,具有高效、可伸縮性以及節省網路頻寬的優點。

// 區間過濾

select field from tb where field between

0and

100;

// null值過濾

select field from tb where field is

null

;要點:

1.null值只能通過is

null匹配

2.null值只能通過not

null不匹配

// 列表過濾

select field from tb where field in

(v1, v2...

);要點:1.符合值列表中的任意乙個值,都符合條件

2.in最大的優點,是可以使用其他查詢語句的結果

// 否定過濾

select field from tb where field not

in(v1, v2...

);要點:1.

not對後跟條件進行否定,語義為「非」

// 「和」條件

select field from tb where condition1 and condition2...

;// 「或」條件

select field from tb where condition1 or condition2...

;要點:

1.and、or可以連線任意個過濾條件。

2.and的計算優先順序比or高。在結合多個條件時,可以使用括號包裹組合,確保不會因為預設優先順序導致查詢異常。

「模糊過濾」包括以下內容:

面向模式,進行過濾

萬用字元、模式介紹

like操作符的使用

「萬用字元」:用來匹配值的一部分的特殊字元

數量限制:任意個

位置限制:任意位置

萬用字元說明%

代表0個或多個任意字元

_代表1個任意字元

要點:

1.萬用字元不能匹配null。

由字面值、萬用字元或兩者組合構成的搜尋條件。

like:表示使用某種模式查詢

select field from tb where field like pattern;

要點:1.整個列值與模式匹配,才會被返回。

2.除非必要,否則不要把萬用字元用在搜尋模式的開始處,這樣的搜尋是最慢的。

「正規表示式過濾」包括以下內容:

面向模式,進行過濾

應用場景

正規表示式元字元表

regexp操作符的使用

「萬用字元模式」只能用於搜尋結構簡單的文字,對於複雜組合無能為力。正規表示式能夠擴充套件模式,更細膩的控制模式結構。

元字元說明|

或.匹配任意1個字元

[ ]匹配集合中的任意1個

[^ ]

不匹配集合中的任意1個

[0-9]

匹配0到9之間的任意1個數字

[a-z]

匹配a-z之間的任意1個字母

\\匹配特殊字元

regexp:表示應用正規表示式

// 不區分大小寫

select field from tb where field regexp pattern;

注意:這裡筆者測了是區分大小寫的(ver 8.0

.18)

// 強制區分大小寫

select field from tb where field regexp

binary pattern;

要點:1.沒有特別指定,只要列值的一部分與正規表示式相匹配,就會被返回。

mysql過濾 MySQL必知必會 資料過濾

組合where子句 1.1 and操作符 1.2 or操作符 1.3 計算次序 in 操作符 not操作符 1.1 and操作符 mariadb test select id,age,province from user where age 30 and province 北京 id age pro...

MYSQL必知必會(三)過濾資料

資料過濾 用萬用字元進行過濾 使用萬用字元技巧 在select語句中,資料根據where子句中指定的搜尋條件進行過濾。where子句在表名 from子句 之後給出 select prod name,prod price from products where prod price 2.5 order...

MySQL必知必會六 過濾資料

只檢索所需資料需要指定搜尋條件 search criteria 搜尋條件也稱為過濾條件 filter condition 在select語句中,資料根據where子句中指定的搜尋條件進行過濾。where子句在表名 from子句 之後給出,如下所示 mysql select prod name,pro...