MySql的運算符

數據庫中的表結構確立後,表中的數據表明的意義就已經肯定。而經過MySQL運算符進行運算,就能夠獲取到表結構之外的另外一種數據。例如,學生表中存在一個birth字段,這個字段表示學生的出生年份。而運用MySQL的算術運算符用當前的年份減學生出生的年份,那麼獲得的就是這個學生的實際年齡數據。這就是MySQL的運算符,因此熟悉並掌握運算符的應用,對於操做MySQL數據庫中的數據是很是有用的。下面就來熟悉一下MySQL支持的4種運算符都具有哪些功能。正則表達式

算術運算符:執行算術運算,例如:加、減、乘、除等。數據庫

比較運算符:包括大於、小於、等於或者不等於,等等。主要用於數值的比較、字符串的匹配等方面。例如:LIKE、IN、BETWEEN AND和IS NULL等都是比較運算符,還包括正則表達式的REGEXP也是比較運算符。spa

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

位運算符:包括按位與、按位或、按位取反、按位異或、按位左移和按位右移等位運算符。位運算必須先將數據轉換爲二進制,而後在二進制格式下進行操做,運算完成後,將二進制的值轉換爲原來的類型,返回給用戶。blog

算術運算符

算術運算符是MySQL中最經常使用的一類運算符。MySQL支持的算術運算符包括:加、減、乘、除、求餘。字符串

 

加(+)、減(-)和乘(*)能夠同時計算多個操做數。除號(/)和求餘運算符(%)也能夠同時計算多個操做數,可是這兩個符號計算多個操做數不太好。DIV和MOD這兩個運算符只有兩個參數。進行除法和求餘的運算時,若是x2參數是0或者null,計算結果將是空值(NULL)。class

比較運算符

比較運算符是查詢數據時最經常使用的一類運算符。SELECT語句中的條件語句常常要使用比較運算符。經過這些比較運算符,能夠判斷表中的哪些記錄是符合條件的。二進制

下面對幾種較經常使用的比較運算符進行詳解。方法

1.運算符「=」,「=」用來判斷數字、字符串和表達式等是否相等。若是相等,返回1,不然返回0。im

說明:在運用「=」運算符判斷兩個字符是否相同時,數據庫系統都是根據字符的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種位運算符,分別是:按位與、按位或、按位取反、按位異或、按位左移和按位右移。

 

運算符的優先級

 

相關文章
相關標籤/搜索