解讀SQL語(yǔ)句中要不要加單引號(hào)的問(wèn)題
目錄
- SQL語(yǔ)句中要不要加單引號(hào)?
- SQL不使用引號(hào)、使用單引號(hào)或雙引號(hào)的區(qū)別
- 加引號(hào)和不加引號(hào)有什么區(qū)別?
- SQL中的單引號(hào)和雙引號(hào)有區(qū)別嗎?
- MySQL 參考手冊(cè)
- 總結(jié)
SQL語(yǔ)句中要不要加單引號(hào)?
犯了一個(gè)超級(jí)超級(jí)蠢的錯(cuò)誤,把population寫成polulation而不自知,多次提醒我找不到polulation列,這是其一;其二是我在未得知我寫錯(cuò)的時(shí)候,我以為是字段名沒(méi)有加單引號(hào)的問(wèn)題,加了單引號(hào)之后結(jié)果變成:
所以,對(duì)于SQL我有了一些新的認(rèn)識(shí):
1、不能手快!不能手快!不能手快!
好好記單詞!好好記單詞!好好記單詞!
2、對(duì)于單引號(hào)的問(wèn)題,不能僅僅用其他編程語(yǔ)言的習(xí)慣來(lái)寫SQL。
① 表名和字段名,即使是中文也不用加單引號(hào);
② 對(duì)于表格內(nèi)的value值,要不要加單引號(hào)取決于這個(gè)字段設(shè)置的數(shù)據(jù)類型。
比如說(shuō)看例表的屬性:
可以發(fā)現(xiàn)population列是int類型,而country是字符串類型,寫的過(guò)程中就需要添加單引號(hào),比如country=’美國(guó)’。
3、SQL中的任何標(biāo)點(diǎn)都是英文格式下的,所以避免切換不清,最好使用英文字段名之類的,避免重復(fù)切換造成標(biāo)點(diǎn)格式的錯(cuò)誤。
SQL不使用引號(hào)、使用單引號(hào)或雙引號(hào)的區(qū)別
加引號(hào)和不加引號(hào)有什么區(qū)別?
表名和字段名,即使是中文也不用加單引號(hào);
對(duì)于表格內(nèi)的value值,要不要加單引號(hào)取決于這個(gè)字段設(shè)置的數(shù)據(jù)類型, 不加引號(hào)是數(shù)字類型,加了就是字符串或日期類型了 如果是 int 類型,那么是不需要引號(hào)的,不過(guò),加起引號(hào)也不會(huì)報(bào)錯(cuò),會(huì)自動(dòng)轉(zhuǎn)換類型。
SQL中的單引號(hào)和雙引號(hào)有區(qū)別嗎?
在標(biāo)準(zhǔn) SQL 中,字符串使用的是單引號(hào)。
如果字符串本身也包括單引號(hào),則使用兩個(gè)單引號(hào)(注意,不是雙引號(hào),字符串中的雙引號(hào)不需要另外轉(zhuǎn)義)。
但在其它的數(shù)據(jù)庫(kù)中可能存在對(duì) SQL 的擴(kuò)展,比如在 MySQL 中允許使用單引號(hào)和雙引號(hào)兩種。
MySQL 參考手冊(cè)
字符串指用單引號(hào)’或雙引號(hào)"引起來(lái)的字符序列。例如:
- ‘
a string
’ - “
another string
”
如果SQL服務(wù)器模式啟用了NSI_QUOTES,可以只用單引號(hào)引用字符串。用雙引號(hào)引用的字符串被解釋為一個(gè)識(shí)別符。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持。
相關(guān)文章:
1. 使用SQL語(yǔ)句獲取SQL Server數(shù)據(jù)庫(kù)登錄用戶權(quán)限2. 使用SQL語(yǔ)句創(chuàng)建觸發(fā)器的實(shí)例3. Oracle中用SQL語(yǔ)句實(shí)現(xiàn)進(jìn)制間互相轉(zhuǎn)換4. Oracle數(shù)據(jù)庫(kù)中SQL語(yǔ)句性能調(diào)整原則5. 史上超強(qiáng)最常用SQL語(yǔ)句大全6. [ORACLE] SQL語(yǔ)句的優(yōu)化方法7. 關(guān)于SQL Server SQL語(yǔ)句查詢分頁(yè)數(shù)據(jù)的解決方案9. MyBatis一次執(zhí)行多條SQL語(yǔ)句的操作10. 基于SQLAlchemy實(shí)現(xiàn)操作MySQL并執(zhí)行原生sql語(yǔ)句
