MySql的運算子

2021-09-20 13:47:09 字數 3288 閱讀 9799

資料庫中的表結構確立後,表中的資料代表的意義就已經確定。而通過mysql運算子進行運算,就可以獲取到表結構以外的另一種資料。例如,學生表中存在乙個birth欄位,這個字段表示學生的出生年份。而運用mysql的算術運算子用當前的年份減學生出生的年份,那麼得到的就是這個學生的實際年齡資料。這就是mysql的運算子,所以熟悉並掌握運算子的應用,對於操作mysql資料庫中的資料是非常有用的。下面就來熟悉一下mysql支援的4種運算子都具備哪些功能。

算術運算子:執行算術運算,例如:加、減、乘、除等。

比較運算子:包括大於、小於、等於或者不等於,等等。主要用於數值的比較、字串的匹配等方面。例如:like、in、between and和is null等都是比較運算子,還包括正規表示式的regexp也是比較運算子。

邏輯運算子:包括與、或、非和異或等邏輯運算子。其返回值為布林型,真值(1或true)和假值(0或false)。

位運算子:包括按位與、按位或、按位取反、按位異或、按位左移和按位右移等位運算子。位運算必須先將資料轉換為二進位制,然後在二進位制格式下進行操作,運算完成後,將二進位制的值轉換為原來的型別,返回給使用者。

算術運算子是mysql中最常用的一類運算子。mysql支援的算術運算子包括:加、減、乘、除、求餘。

加(+)、減(-)和乘(*)可以同時計算多個運算元。除號(/)和求餘運算子(%)也可以同時計算多個運算元,但是這兩個符號計算多個運算元不太好。div和mod這兩個運算子只有兩個引數。進行除法和求餘的運算時,如果x2引數是0或者null,計算結果將是空值(null)。

比較運算子是查詢資料時最常用的一類運算子。select語句中的條件語句經常要使用比較運算子。通過這些比較運算子,可以判斷表中的哪些記錄是符合條件的。

下面對幾種較常用的比較運算子進行詳解。

1.運算子「=」,「=」用來判斷數字、字串和表示式等是否相等。如果相等,返回1,否則返回0。

說明:在運用「=」運算子判斷兩個字元是否相同時,資料庫系統都是根據字元的ascii碼進行判斷的。如果ascii碼相等,則表示這兩個字元相同。如果ascii碼不相等,則表示這兩個字元不相同。注意,空值(null)不能使用「=」來判斷。

2.運算子「<>」和「!=」,「<>」和「!=」用來判斷數字、字串、表示式等是否不相等。如果不相等,則返回1;否則,返回0。這兩個符號也不能用來判斷空值(null)。

3.運算子「>」,「>」用來判斷左邊的運算元是否大於右邊的運算元。如果大於,返回1;否則,返回0。同樣,空值(null)不能使用「>」來判斷。

4.運算子「is null」,「is null」用來判斷運算元是否為空值(null)。運算元為null時,結果返回1;否則,返回0。is not null剛好與is null相反。

說明:「=」、「<>」、「!=」、「>」、「>=」、「<」、「<=」等運算子都不能用來判斷空值(null)。一旦使用,結果將返回null。如果要判斷乙個值是否為空值,可以使用is null和is not null來判斷。注意:null和'null'是不同的,前者表示為空值,後者表示乙個由4個字母組成的字串。

5.運算子「between and」,「between and」用於判斷資料是否在某個取值範圍內。

其表示式如下:

x1 between m and n

如果x1大於等於m,且小於等於n,結果將返回1,否則將返回0。

6.運算子「in」,「in」用於判斷資料是否存在於某個集合中。

其表示式如下:

x1 in(值1,值2,……,值n)

如果x1等於值1到值n中的任何乙個值,結果將返回1。如果不是,結果將返回0。

7.運算子「like」,「like」用來匹配字串。

其表示式如下:

x1 like s1

如果x1與字串s1匹配,結果將返回1。否則返回0。

8.運算子「regexp」 ,regexp」同樣用於匹配字串,但其使用的是正規表示式進行匹配。

其表示式格式如下:

x1 regexp'匹配方式'

如果x1滿足匹配方式,結果將返回1;否則將返回0。

說明:使用regexp運算子匹配字串,其使用方法非常簡單。regexp運算子經常與「^」、「$」和「.」一起使用。「^」用來匹配字串的開始部分;「$」用來匹配字串的結尾部分;「.」用來代表字串中的乙個字元。 

邏輯運算子用來判斷表示式的真假。如果表示式是真,結果返回1。如果表示式是假,結果返回0。邏輯運算子又稱為布林運算子。mysql中支援4種邏輯運算子,分別是與、或、非和異或。

1.「與」運算

「&&」或者「and」是「與」運算的兩種表達方式。如果所有資料不為0且不為空值(null),則結果返回1;如果存在任何乙個資料為0,則結果返回0;如果存在乙個資料為null且沒有資料為0,則結果返回null。「與」運算子支援多個資料同時進行運算。

2.「或」運算

「||」或者「or」表示「或」運算。所有資料中存在任何乙個資料為非0的數字時,結果返回1;如果資料中不包含非0的數字,但包含null時,結果返回null;如果運算元中只有0時,結果返回0。「或」運算子「||」可以同時操作多個資料。

3.「非」運算

「!」或者not表示「非」運算。通過「非」運算,將返回與運算元據相反的結果。如果運算元據是非0的數字,結果返回0;如果運算元據是0,結果返回1;如果運算元據是null,結果返回null。

4.「異或」運算

xor表示「異或」運算。當其中乙個表示式是真而另外乙個表示式是假時,該表示式返回的結果才是真;當兩個表示式的計算結果都是真或者都是假時,則返回的結果為假。

位運算子是在二進位制數上進行計算的運算子。位運算會先將運算元變成二進位制數,進行位運算。然後再將計算結果從二進位制數變回十進位制數。mysql中支援6種位運算子,分別是:按位與、按位或、按位取反、按位異或、按位左移和按位右移。

mysql運算子,比較運算子

我也是菜鳥,也是新手,一起學習,一起進步,加油 首先 比較運算子,進行比較之後的 結果如果為真 返回1,結果為假 返回 0 一下為常用的,最基礎的一些沒有列出來 或 不等於 null 的安全等於 null safe between 存在於指定範圍 in存在於指定集合 is null 為 null i...

mysql 運算 MySQL的運算子

1 算術運算子 除也可以寫成div 取模可以寫成mod 2 比較運算子 安全等於 3 邏輯運算子 邏輯與也可以寫成and 邏輯或也可以寫成or not 邏輯非 4 範圍 表示式 between and 也可以寫成 表示式 and 表示式 表示式 not between and 也可以寫成 表示式 5...

mysql 運算子轉義 mysql常用運算子

一 算數運算子 加法 減法 乘法 除法 返回餘數 二 比較運算子 等於 或 不等於 等於 這裡是安全的等於 例如 select null null 結果是1,如果是select null null 結果是null,有時候會報錯程式 between 存在於指定範圍 舉例 select 10 betwe...