MySQL運(yùn)算符使用方法全解析
1、算數(shù)運(yùn)算符
算術(shù)運(yùn)算符主要用于數(shù)學(xué)運(yùn)算,可以連接運(yùn)算符前后的兩個(gè)數(shù)值或表達(dá)式,對(duì)數(shù)值或表達(dá)式進(jìn)行加(+)、減(-)、乘(*)、除(/)以及取模(%)運(yùn)算。
(1)加減運(yùn)算符

- 一個(gè)整數(shù)類型的值對(duì)整數(shù)進(jìn)行加法和減法操作,結(jié)果還是一個(gè)整數(shù);
- 一個(gè)整數(shù)類型的值對(duì)浮點(diǎn)數(shù)進(jìn)行加法和減法操作,結(jié)果是一個(gè)浮點(diǎn)數(shù);
- 加法與減法優(yōu)先級(jí)相同,先進(jìn)行哪一個(gè)的結(jié)果都一樣;
- 在MySQL中,如果加號(hào)兩邊出現(xiàn)字符串等非數(shù)值類型,先轉(zhuǎn)換為數(shù)值,如果不能轉(zhuǎn)為數(shù)值,再按照數(shù)字0進(jìn)行運(yùn)算。
(2)乘除運(yùn)算符

- 一個(gè)整數(shù)除以整數(shù)(不為1)后,不管是否可以除盡,結(jié)果都是一個(gè)浮點(diǎn)數(shù)(保留四位);
- 乘法與除法優(yōu)先級(jí)相同,無論先進(jìn)行哪一個(gè),結(jié)果都一樣;
- 在數(shù)學(xué)運(yùn)算中,0不能作為除數(shù),但是在MySQL中,一個(gè)數(shù)除以0的結(jié)果是NULL。
(3)取模運(yùn)算

2、比較運(yùn)算符
比較運(yùn)算符用來對(duì)表達(dá)式左邊的操作數(shù)和右邊的操作數(shù)進(jìn)行比較,比較結(jié)果為真則返回1,比較結(jié)果為假則返回0,其他情況返回NULL。
(1)等于運(yùn)算符

遵循以下規(guī)則:
- 如果等號(hào)兩邊的值、字符串或表達(dá)式都為字符串,則MySQL會(huì)按照字符串進(jìn)行比較,其比較的是每個(gè)字符串中字符的ANSI編碼是否相等。
- 如果等號(hào)兩邊的值都是整數(shù),則MySQL會(huì)按照整數(shù)來比較兩個(gè)值的大小。
- 如果等號(hào)兩邊的值一個(gè)是整數(shù),另一個(gè)是字符串,則MySQL會(huì)將字符串轉(zhuǎn)化為數(shù)字進(jìn)行比較。如果轉(zhuǎn)換不成功,則將字符串看做0比較。
- 如果等號(hào)兩邊的值、字符串或表達(dá)式中有一個(gè)為NULL,則比較結(jié)果為NULL。
(2)安全等于運(yùn)算符
安全等于運(yùn)算符(<=>)作用和等于運(yùn)算符相似,唯一區(qū)別在于安全等于運(yùn)算符可以對(duì)NULL進(jìn)行判斷。

- 在兩個(gè)操作數(shù)均為NULL時(shí),其返回值為1,而不為NULL;
- 當(dāng)一個(gè)操作數(shù)為NULL時(shí),其返回值為0,而不為NULL。
(3)不等于運(yùn)算符
不等于運(yùn)算符( <> 和 != ),同樣不能判斷NULL,有一個(gè)為NULL ,結(jié)果就為NULL。
(4)非符號(hào)類型的運(yùn)算符
① IS NULL(為空)、 IS NOT NULL(不為空)、ISNULL(為空)


② LEAST()最小值、GREATEST(最大值)

③ BETWEEN AND(查詢兩值之間) 包含查詢邊界

④ IN (屬于)、NOT IN(不屬于)

- between and 體現(xiàn)的是區(qū)間內(nèi)的連續(xù)值;in 和 not in是列表中羅列的離散值。
⑤ LIKE (模糊匹配)

⑥ REGEXP、RLIKE(正則表達(dá)式)

規(guī)則:
- '^'匹配以該字符后面的字符開頭的字符串。
- '$'匹配以該字符前面的字符結(jié)尾的字符串。
- '.'匹配任何一個(gè)單字符。
- "[...]"匹配在方括號(hào)內(nèi)的任何字符(或的關(guān)系);"[a-z]"匹配任何字母。
- '*'匹配零個(gè)或多個(gè)在它前面的字符;"[0-9]*"匹配任何數(shù)量的數(shù)字。
3、邏輯運(yùn)算符
邏輯運(yùn)算符主要判斷表達(dá)式的真假,在MySQL中,邏輯運(yùn)算符的返回結(jié)果為1、0或NULL
(1)邏輯非運(yùn)算符
邏輯非運(yùn)算符(NOT或!)表示給定值取反,當(dāng)給定值為NULL時(shí)也返回NULL。

(2)邏輯與運(yùn)算符
邏輯與運(yùn)算符(AND或&&),同真為1,有假為0,其余為NULL。

(3)邏輯或運(yùn)算符
邏輯或運(yùn)算符(OR 或 ||),有真為真,兩個(gè)都為NULL則為NULL。

(4)邏輯異或運(yùn)算符
邏輯異或運(yùn)算符(XOR),有NULL則NULL,不同為1。

4、位運(yùn)算符
位運(yùn)算符是在二進(jìn)制上計(jì)算的運(yùn)算符。會(huì)將操作數(shù)先變?yōu)槎M(jìn)制數(shù),然后進(jìn)行位運(yùn)算,最后將計(jì)算結(jié)果從二進(jìn)制變回十進(jìn)制。
(1)按位與運(yùn)算符
按位與運(yùn)算(&)將操作數(shù)的二進(jìn)制逐位進(jìn)行邏輯與運(yùn)算。

- 1的二進(jìn)制 0001,2的二進(jìn)制0010,3的二進(jìn)制0011。結(jié)果仍以十進(jìn)制展示。
(2)按位或運(yùn)算符
按位或運(yùn)算(|)將操作數(shù)的二進(jìn)制逐位進(jìn)行邏輯或運(yùn)算。

(3)按位異或運(yùn)算符
按位異或運(yùn)算符(^)將操作數(shù)的二進(jìn)制逐位進(jìn)行邏輯異或運(yùn)算。

(4)按位取反運(yùn)算符
按位取反運(yùn)算符(~)將操作數(shù)的二進(jìn)制逐位進(jìn)行取反運(yùn)算。

(5)按位右移運(yùn)算符
按位右移運(yùn)算符(>>)將給定的值的二進(jìn)制數(shù)的所有位右移指定的位數(shù)。(右邊低位的數(shù)值被移出并丟棄,左邊高位空出的位置用0補(bǔ)齊)

(6)按位左移運(yùn)算符
按位左移運(yùn)算符(<<)將給定的值的二進(jìn)制數(shù)的所有位左移指定的位數(shù)。(左邊高位的數(shù)值被移出并丟棄,右邊低位空出的位置用0補(bǔ)齊)

到此這篇關(guān)于MySQL運(yùn)算符使用方法全解析的文章就介紹到這了,更多相關(guān)mysql運(yùn)算符內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Navicat連接服務(wù)器MySQL數(shù)據(jù)庫步驟及遇到錯(cuò)誤和問題
Navicat是一款強(qiáng)大的數(shù)據(jù)庫管理工具,可以用來遠(yuǎn)程連接MySQL服務(wù)器,下面這篇文章主要給大家介紹了關(guān)于Navicat連接服務(wù)器MySQL數(shù)據(jù)庫步驟及遇到錯(cuò)誤和問題的相關(guān)資料,文中通過代碼及圖文介紹的非常詳細(xì),需要的朋友可以參考下2024-07-07
詳解MySQL實(shí)現(xiàn)主從復(fù)制過程
這篇文章主要為大家詳細(xì)介紹了MySQL主從復(fù)制的實(shí)現(xiàn)過程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07
MySQL用正則表達(dá)式進(jìn)行搜索功能實(shí)例
MySQL中的正則表達(dá)式是一種強(qiáng)大的文本匹配工具,它允許你使用特定的模式來搜索、替換或檢查字符串中的數(shù)據(jù),這篇文章主要介紹了MySQL用正則表達(dá)式進(jìn)行搜索功能的相關(guān)資料,需要的朋友可以參考下2025-08-08
mysql 5.6 從陌生到熟練之_數(shù)據(jù)庫備份恢復(fù)的實(shí)現(xiàn)方法
下面小編就為大家?guī)硪黄猰ysql 5.6 從陌生到熟練之_數(shù)據(jù)庫備份恢復(fù)的實(shí)現(xiàn)方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-10-10

