解讀SQL語句中要不要加單引號的問題
目錄
- SQL語句中要不要加單引號?
- SQL不使用引號、使用單引號或雙引號的區(qū)別
- 加引號和不加引號有什么區(qū)別?
- SQL中的單引號和雙引號有區(qū)別嗎?
- MySQL 參考手冊
- 總結(jié)
SQL語句中要不要加單引號?
犯了一個超級超級蠢的錯誤,把population寫成polulation而不自知,多次提醒我找不到polulation列,這是其一;其二是我在未得知我寫錯的時候,我以為是字段名沒有加單引號的問題,加了單引號之后結(jié)果變成:
所以,對于SQL我有了一些新的認(rèn)識:
1、不能手快!不能手快!不能手快!
好好記單詞!好好記單詞!好好記單詞!
2、對于單引號的問題,不能僅僅用其他編程語言的習(xí)慣來寫SQL。
① 表名和字段名,即使是中文也不用加單引號;
② 對于表格內(nèi)的value值,要不要加單引號取決于這個字段設(shè)置的數(shù)據(jù)類型。
比如說看例表的屬性:
可以發(fā)現(xiàn)population列是int類型,而country是字符串類型,寫的過程中就需要添加單引號,比如country=’美國’。
3、SQL中的任何標(biāo)點都是英文格式下的,所以避免切換不清,最好使用英文字段名之類的,避免重復(fù)切換造成標(biāo)點格式的錯誤。
SQL不使用引號、使用單引號或雙引號的區(qū)別
加引號和不加引號有什么區(qū)別?
表名和字段名,即使是中文也不用加單引號;
對于表格內(nèi)的value值,要不要加單引號取決于這個字段設(shè)置的數(shù)據(jù)類型, 不加引號是數(shù)字類型,加了就是字符串或日期類型了 如果是 int 類型,那么是不需要引號的,不過,加起引號也不會報錯,會自動轉(zhuǎn)換類型。
SQL中的單引號和雙引號有區(qū)別嗎?
在標(biāo)準(zhǔn) SQL 中,字符串使用的是單引號。
如果字符串本身也包括單引號,則使用兩個單引號(注意,不是雙引號,字符串中的雙引號不需要另外轉(zhuǎn)義)。
但在其它的數(shù)據(jù)庫中可能存在對 SQL 的擴(kuò)展,比如在 MySQL 中允許使用單引號和雙引號兩種。
MySQL 參考手冊
字符串指用單引號’或雙引號"引起來的字符序列。例如:
- ‘
a string
’ - “
another string
”
如果SQL服務(wù)器模式啟用了NSI_QUOTES,可以只用單引號引用字符串。用雙引號引用的字符串被解釋為一個識別符。
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持。
相關(guān)文章:
1. MySql中sql語句執(zhí)行過程詳細(xì)講解2. [ORACLE] SQL語句的優(yōu)化方法3. 教你使用SQL語句進(jìn)行數(shù)據(jù)庫復(fù)雜查詢4. ORACLE數(shù)據(jù)庫體系框架介紹及SQL語句性能探討5. mybatis中sql語句CDATA標(biāo)簽的用法說明6. 基于SQLAlchemy實現(xiàn)操作MySQL并執(zhí)行原生sql語句7. 使用SQL語句快速獲取SQL Server數(shù)據(jù)字典8. MyBatis Log 插件無法顯示SQL語句的原因解析9. SQL語句中的ON DUPLICATE KEY UPDATE使用10. sql語句LEFT JOIN拼接表詳解
