溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

MySQL數(shù)據(jù)庫中執(zhí)行SQL語句的注意要點

發(fā)布時間:2021-09-18 13:51:03 來源:億速云 閱讀:141 作者:chen 欄目:數(shù)據(jù)庫

這篇文章主要講解了“MySQL數(shù)據(jù)庫中執(zhí)行SQL語句的注意要點”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“MySQL數(shù)據(jù)庫中執(zhí)行SQL語句的注意要點”吧!

在執(zhí)行查找命令時的大小寫問題

    默認情況下,MySQL在執(zhí)行查找時不區(qū)分字母的大小寫。當你在查找時使用like a%時, 默認將返回以a或者A開頭的所有列值,若要在查找時區(qū)分大小寫,則需要使用collate運算符來實現(xiàn),具體例子如下:

    如果想讓某列在查找時始終保持區(qū)分字母大小寫,則需要用case sensitive或binary collation來定義列的特性。

    當進行簡單比較運算,如>=, >, =, <, <=, sorting, and grouping的時候,將依從字符的內(nèi)在順序值,例如‘E’, ‘e’, and ‘??’這些字符有相同的內(nèi)在順序值。

    和空值NULL相關(guān)的問題

    空值的概念比較容易混淆,有人認為空值NULL和空 字符是一會時,其實這樣認為是錯誤的,舉例來說,

    上面兩條語句有完全不同的意義和結(jié)果。第一句表示,向表中插入的記錄中的某人的電話號碼NULL,意思是還不知道這 條記錄中的人的電話號碼,而第二句向表中插入空字符,就意味著已經(jīng)知道表中這條記錄中的人的電話號碼,這個電話號碼 是,也可以確定此人沒有正常的電話號碼。

    幫助處理空值NULL的方法,主要通過執(zhí)行is null運算判斷,is not null運算 判斷,和IFNULL()函數(shù)運算來實現(xiàn)。在SQL中,任何與NULL發(fā)生運算關(guān)系的結(jié)果都不可能為真(即永遠是假)。為了尋找NULL值 ,必須執(zhí)行is null測試運算。

    可以在MyISAM, InnoDB, BDB或MEMORY等存儲類型的表列中含有空值時添加index,但該 index必須聲明成not null,這樣之后將不可以往該列中輸入空值。

    當使用load data infile語句載入數(shù)據(jù)時,空值NULL將 被替換成。使用DISTINCT, GROUP BY, 或ORDER BY時所有空值將被視為等同。像COUNT(), MIN(), SUM()等概要總結(jié)函數(shù)將忽略空值NULL。

    但對一些特殊類型的列來說,比如timestamp類型和具有auto_increment屬性的列:前者插入NULL是實際將插入當前時間值,向后者插入NULL時將是下個正整數(shù)序列。

感謝各位的閱讀,以上就是“MySQL數(shù)據(jù)庫中執(zhí)行SQL語句的注意要點”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對MySQL數(shù)據(jù)庫中執(zhí)行SQL語句的注意要點這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI