最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

與MSSQL對(duì)比學(xué)習(xí)MYSQL的心得(五)--運(yùn)算符

 更新時(shí)間:2014年06月12日 16:04:56   投稿:hebedich  
MYSQL中的運(yùn)算符很多,這一節(jié)主要講MYSQL中有的,而SQLSERVER沒有的運(yùn)算符

安全等于運(yùn)算符(<=>)

這個(gè)操作符和=操作符執(zhí)行相同的比較操作,不過<=>可以用來判斷NULL值。

在兩個(gè)操作數(shù)均為NULL時(shí),其返回值為1而不為NULL;

而當(dāng)一個(gè)操作數(shù)為NULL時(shí),其返回值為0而不為NULL。

下面分別是 SELECT NULL <=>1   SELECT 1<=>0  SELECT NULL <=>NULL 的執(zhí)行結(jié)果

在兩個(gè)操作數(shù)均為NULL時(shí),其返回值為1而不為NULL;



LEAST運(yùn)算符

語法格式為:LEAST(值1,值2,...值n),其中值n表示參數(shù)列表中有n個(gè)值。在有兩個(gè)或多個(gè)參數(shù)的情況下,返回最小值。

假如任意一個(gè)自變量為NULL,則LEAST()的返回值為NULL

使用LEAST運(yùn)算符進(jìn)行大小判斷,SQL語句如下:

復(fù)制代碼 代碼如下:

SELECT LEAST(2,0),LEAST('a','b','c'),LEAST(10,NULL)

由結(jié)果可以看到,當(dāng)參數(shù)中是整數(shù)或者浮點(diǎn)數(shù)時(shí),LEAST將返回其中最小的值;

當(dāng)參數(shù)為字符串時(shí),返回字母中順序最靠前的字符;

當(dāng)比較值列表中有NULL時(shí),不能判斷大小,返回值為NULL

GREATEST運(yùn)算符

語法格式為: GREATEST(值1,值2,...值n),其中n表示參數(shù)列表中有n個(gè)值。

在有兩個(gè)或多個(gè)參數(shù)的情況下,返回最大值。

假如任意一個(gè)自變量為NULL,則GREATEST()的返回值為NULL

使用GREATEST運(yùn)算符進(jìn)行大小判斷,SQL語句如下:

復(fù)制代碼 代碼如下:

SELECT GREATEST(2,0),GREATEST('a','b','c'),GREATEST(10,NULL)

由結(jié)果可以看到,當(dāng)參數(shù)中是整數(shù)或者浮點(diǎn)數(shù)時(shí),GREATEST將返回其中最大的值;

當(dāng)參數(shù)為字符串時(shí),返回字母中順序最靠后的字符;

當(dāng)比較值列表中有NULL時(shí),不能判斷大小,返回值為NULL

REGEXP 運(yùn)算符

在SQLSERVER里是沒有正則函數(shù)或者運(yùn)算符的,MYSQL在這方面的確比較完善

用來匹配字符串,語法格式為:expr REGEXP  匹配條件,如果expr滿足匹配條件,返回1;

如果不滿足,則返回0;

若expr或匹配條件任意一個(gè)為NULL,則結(jié)果為NULL

常用的幾種通配符:

(1)'^'匹配以該字符后面的字符開頭的字符串

(2)'$'匹配以該字符后面的字符結(jié)尾的字符串

(3)'.'匹配任何一個(gè)單字符

(4)'[...]'匹配在方括號(hào)內(nèi)的任何字符。例如,“[abc]" 匹配a、b或c。

字符的范圍可以使用一個(gè)'-',“[a-z]”匹配任何字母,而“[0-9]”匹配任何數(shù)字

(5)'*' 匹配零個(gè)或多個(gè)在他前面的字符。例如,“x*”匹配任何數(shù)量的'*'字符,“[0-9]*”匹配任何數(shù)量的數(shù)字,

而“.*”匹配任何數(shù)量的任何字符。

使用REGEXP  運(yùn)算符進(jìn)行字符串匹配運(yùn)算,SQL語句如下:

復(fù)制代碼 代碼如下:

SELECT 'ssky' REGEXP '^s','ssky' REGEXP 'y$' ,'ssky' REGEXP '.sky','ssky' REGEXP '[ab]';

由結(jié)果可以看到,指定匹配字符串為ssky。

'^s'表示匹配任何以字母s開頭的字符串,因此滿足匹配條件,返回1;

'y$'表示匹配任何以字母y結(jié)尾的字符串,因此滿足匹配條件,返回1;

'.sky'表示匹配任何以sky結(jié)尾,字符長度為4的字符串,因此滿足匹配條件,返回1;

'^s'表示匹配任何以字母s開頭的字符串,因此滿足匹配條件,返回1;

'[ab]'表示匹配任何包含字母a或者b的字符串,指定字符串中沒有字母a也沒有字母b,因此不滿足匹配條件,返回0;

TIPS:正則表達(dá)式是一個(gè)可以進(jìn)行復(fù)雜查詢的強(qiáng)大工具,相對(duì)于LIKE字符串匹配,他可以使用更多的通配符類型

查詢結(jié)果更加靈活。

邏輯運(yùn)算符

邏輯與運(yùn)算符:AND或者&&

邏輯或運(yùn)算符:OR或者||

上面兩個(gè)運(yùn)算符就不說了,只是比SQLSERVER多了&&和||的寫法

異或運(yùn)算符:XOR

當(dāng)任意一個(gè)操作數(shù)為NULL時(shí),返回值為NULL;對(duì)于非NULL的操作數(shù),如果兩個(gè)操作數(shù)都是非0值或者都是0值,則返回結(jié)果為0;

如果一個(gè)為0值,另一個(gè)為非0值,返回結(jié)果為1

使用異或運(yùn)算符XOR進(jìn)行邏輯判斷,SQL語句如下

復(fù)制代碼 代碼如下:

SELECT 1 XOR 1, 0 XOR 0,1 XOR 0,1 XOR NULL,1 XOR 1 XOR 1

由結(jié)果可以看到‘1 XOR 1'和‘0 XOR 0'中運(yùn)算符兩邊的操作數(shù)都為非零值,或者都是零值,因此返回0;

'1 XOR 0'中兩邊的操作數(shù),一個(gè)為0值,另一個(gè)為非0值,返回結(jié)果為1;

'1 XOR NULL'中有一個(gè)操作數(shù)為NULL,返回結(jié)果為NULL;

'1 XOR 1 XOR 1'中有多個(gè)操作數(shù),運(yùn)算符相同,因此運(yùn)算符從左到右依次計(jì)算,'1 XOR 1'的結(jié)果為0,再與1進(jìn)行異或運(yùn)算,因此結(jié)果為1。

TIPS: a XOR b的計(jì)算等同于(a AND (NOT b))或者(NOT a AND ( b))

位運(yùn)算符

由于比較少用到,這里只做簡單介紹,同樣位運(yùn)算符在SQLSERVER里是沒有的

位運(yùn)算符是用來對(duì)二進(jìn)制字節(jié)中的位進(jìn)行測試、移位或者測試處理

MYSQL中提供的位運(yùn)算有

按位或(|)

按位與(&)

按位異或(^)

按位左移(<<)

按位右移(>>)

按位取反(~):反轉(zhuǎn)所有比特

TIPS:可以使用BIN()=binary函數(shù)查看一個(gè)十進(jìn)制數(shù)的二進(jìn)制表示

例如20這個(gè)數(shù)字 SELECT BIN(20)

二進(jìn)制表示為:10100

特別提示

某一些MYSQL中的特殊字符需要用轉(zhuǎn)義字符才能插入數(shù)據(jù)庫,否則產(chǎn)生意料之外的結(jié)果。

下面的特殊字符需要在輸入時(shí)加反斜線符號(hào)開頭

輸入單引號(hào)需要:\'

輸入雙引號(hào)需要:\''

輸入反斜杠:\\

輸入回車符:\r

輸入換行符:\n

輸入制表符:\tab

輸入退格符:\b

在插入這些特殊字符到數(shù)據(jù)庫之前一定要進(jìn)行轉(zhuǎn)義處理

在SQLSERVER里,這些特殊字符不是在前面加反斜杠\,而是加單引號(hào)'

例如插入一個(gè)單引號(hào),加了反斜杠,插入成功

復(fù)制代碼 代碼如下:

INSERT INTO table_1(NAME) VALUES('\'')

SELECT * FROM table_1

總結(jié)

這一節(jié)簡單介紹了MYSQL里的一些運(yùn)算符和特殊字符,并且比較了與SQLSERVER的區(qū)別

相關(guān)文章

  • processlist命令 查看mysql 線程

    processlist命令 查看mysql 線程

    processlist命令的輸出結(jié)果顯示了有哪些線程在運(yùn)行,可以幫助識(shí)別出有問題的查詢語句,兩種方式使用這個(gè)命令。
    2009-04-04
  • 關(guān)于MYSQL 遠(yuǎn)程登錄的授權(quán)方法 命令

    關(guān)于MYSQL 遠(yuǎn)程登錄的授權(quán)方法 命令

    默認(rèn)是不允許遠(yuǎn)程連接的,因?yàn)橛泻艽蟮陌踩[患。需要手動(dòng)增加可以遠(yuǎn)程訪問數(shù)據(jù)庫的用戶
    2011-11-11
  • Mysql鎖機(jī)制之行鎖、表鎖、死鎖的實(shí)現(xiàn)

    Mysql鎖機(jī)制之行鎖、表鎖、死鎖的實(shí)現(xiàn)

    本文主要介紹了Mysql鎖機(jī)制之行鎖、表鎖、死鎖的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • Mysql使用聚合函數(shù)時(shí)需要注意事項(xiàng)

    Mysql使用聚合函數(shù)時(shí)需要注意事項(xiàng)

    聚合函數(shù)作用于一組數(shù)據(jù),并對(duì)一組數(shù)據(jù)返回一個(gè)值,常見的聚合函數(shù):SUM()、MAX()、MIN()、AVG()、COUNT(),這篇文章主要介紹了Mysql使用聚合函數(shù)時(shí)需要注意事項(xiàng),需要的朋友可以參考下
    2024-08-08
  • MySQL數(shù)據(jù)庫MyISAM存儲(chǔ)引擎轉(zhuǎn)為Innodb的方法

    MySQL數(shù)據(jù)庫MyISAM存儲(chǔ)引擎轉(zhuǎn)為Innodb的方法

    mysql數(shù)據(jù)庫存儲(chǔ)引擎為MyISAM的時(shí)候,在大訪問量的情況下數(shù)據(jù)表有可能會(huì)出現(xiàn)被鎖的情況,這就會(huì)導(dǎo)致用戶連接網(wǎng)站時(shí)超時(shí)而返回502,此時(shí)就需要MySQL數(shù)據(jù)庫MyISAM存儲(chǔ)引擎轉(zhuǎn)為Innodb,這篇文章主要介紹了MySQL數(shù)據(jù)庫MyISAM存儲(chǔ)引擎轉(zhuǎn)為Innodb的方法,需要的朋友可以參考下
    2014-06-06
  • MYSQL 完全備份、主從復(fù)制、級(jí)聯(lián)復(fù)制、半同步小結(jié)

    MYSQL 完全備份、主從復(fù)制、級(jí)聯(lián)復(fù)制、半同步小結(jié)

    這篇文章主要介紹了MYSQL 完全備份、主從復(fù)制、級(jí)聯(lián)復(fù)制、半同步小結(jié),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-05-05
  • 詳解Mysql order by與limit混用陷阱

    詳解Mysql order by與limit混用陷阱

    這篇文章主要介紹了詳解Mysql order by與limit混用陷阱,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • 分享MySQL常用?內(nèi)核?Debug?幾種常見方法

    分享MySQL常用?內(nèi)核?Debug?幾種常見方法

    這篇文章主要給大家分享的是MySQL常用的內(nèi)核Debug技巧,掌握?MySQL?內(nèi)核源碼的閱讀和調(diào)試能力,不僅是數(shù)據(jù)庫研發(fā)人員的日常,也是?DBA?進(jìn)階的必經(jīng)之路,下面一起進(jìn)入文章了解更多相關(guān)內(nèi)容吧
    2022-03-03
  • 安裝MySQL 5后無法啟動(dòng)(不能Start service)解決方法小結(jié)

    安裝MySQL 5后無法啟動(dòng)(不能Start service)解決方法小結(jié)

    有時(shí)候我們在安裝mysql軟件時(shí),卻無法啟動(dòng),或服務(wù)器安全設(shè)置以后都可能導(dǎo)致mysql無法運(yùn)行
    2012-07-07
  • Windows10系統(tǒng)下MySQL(8.0.37)安裝與配置教程

    Windows10系統(tǒng)下MySQL(8.0.37)安裝與配置教程

    相信很多人都遇到過安裝Mysql的時(shí)候出現(xiàn)各種各樣的問題,下面這篇文章主要給大家介紹了關(guān)于Windows10系統(tǒng)下MySQL(8.0.37)安裝與配置的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2024-07-07

最新評(píng)論

铜鼓县| 威海市| 华坪县| 定结县| 仁化县| 延寿县| 耿马| 德格县| 石城县| 历史| 武夷山市| 安阳县| 阳曲县| 会东县| 东光县| 苍山县| 紫阳县| 巴林右旗| 北辰区| 鱼台县| 霍邱县| 铅山县| 资溪县| 海淀区| 峨边| 曲沃县| 清水县| 雷波县| 化德县| 宁陵县| 寿阳县| 册亨县| 巨鹿县| 即墨市| 清原| 广元市| 昌黎县| 莱阳市| 遵义县| 合阳县| 大安市|