這篇文章主要講解了“MySQL數(shù)據(jù)庫中執(zhí)行SQL語句的注意要點(diǎn)”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“MySQL數(shù)據(jù)庫中執(zhí)行SQL語句的注意要點(diǎn)”吧!
普陀ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:028-86922220(備注:SSL證書合作)期待與您的合作!
在執(zhí)行查找命令時(shí)的大小寫問題
默認(rèn)情況下,MySQL在執(zhí)行查找時(shí)不區(qū)分字母的大小寫。當(dāng)你在查找時(shí)使用like a%時(shí), 默認(rèn)將返回以a或者A開頭的所有列值,若要在查找時(shí)區(qū)分大小寫,則需要使用collate運(yùn)算符來實(shí)現(xiàn),具體例子如下:
如果想讓某列在查找時(shí)始終保持區(qū)分字母大小寫,則需要用case sensitive或binary collation來定義列的特性。
當(dāng)進(jìn)行簡(jiǎn)單比較運(yùn)算,如>=, >, =, <, <=, sorting, and grouping的時(shí)候,將依從字符的內(nèi)在順序值,例如‘E’, ‘e’, and ‘??’這些字符有相同的內(nèi)在順序值。
和空值NULL相關(guān)的問題
空值的概念比較容易混淆,有人認(rèn)為空值NULL和空 字符是一會(huì)時(shí),其實(shí)這樣認(rèn)為是錯(cuò)誤的,舉例來說,
上面兩條語句有完全不同的意義和結(jié)果。第一句表示,向表中插入的記錄中的某人的電話號(hào)碼NULL,意思是還不知道這 條記錄中的人的電話號(hào)碼,而第二句向表中插入空字符,就意味著已經(jīng)知道表中這條記錄中的人的電話號(hào)碼,這個(gè)電話號(hào)碼 是,也可以確定此人沒有正常的電話號(hào)碼。
幫助處理空值NULL的方法,主要通過執(zhí)行is null運(yùn)算判斷,is not null運(yùn)算 判斷,和IFNULL()函數(shù)運(yùn)算來實(shí)現(xiàn)。在SQL中,任何與NULL發(fā)生運(yùn)算關(guān)系的結(jié)果都不可能為真(即永遠(yuǎn)是假)。為了尋找NULL值 ,必須執(zhí)行is null測(cè)試運(yùn)算。
可以在MyISAM, InnoDB, BDB或MEMORY等存儲(chǔ)類型的表列中含有空值時(shí)添加index,但該 index必須聲明成not null,這樣之后將不可以往該列中輸入空值。
當(dāng)使用load data infile語句載入數(shù)據(jù)時(shí),空值NULL將 被替換成。使用DISTINCT, GROUP BY, 或ORDER BY時(shí)所有空值將被視為等同。像COUNT(), MIN(), SUM()等概要總結(jié)函數(shù)將忽略空值NULL。
但對(duì)一些特殊類型的列來說,比如timestamp類型和具有auto_increment屬性的列:前者插入NULL是實(shí)際將插入當(dāng)前時(shí)間值,向后者插入NULL時(shí)將是下個(gè)正整數(shù)序列。
感謝各位的閱讀,以上就是“MySQL數(shù)據(jù)庫中執(zhí)行SQL語句的注意要點(diǎn)”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)MySQL數(shù)據(jù)庫中執(zhí)行SQL語句的注意要點(diǎn)這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!