解讀SQL語句中要不要加單引號的問題
目錄
- SQL語句中要不要加單引號?
- SQL不使用引號、使用單引號或雙引號的區別
- 加引號和不加引號有什么區別?
- SQL中的單引號和雙引號有區別嗎?
- MySQL 參考手冊
- 總結
SQL語句中要不要加單引號?
犯了一個超級超級蠢的錯誤,把population寫成polulation而不自知,多次提醒我找不到polulation列,這是其一;其二是我在未得知我寫錯的時候,我以為是字段名沒有加單引號的問題,加了單引號之后結果變成:
所以,對于SQL我有了一些新的認識:
1、不能手快!不能手快!不能手快!
好好記單詞!好好記單詞!好好記單詞!
2、對于單引號的問題,不能僅僅用其他編程語言的習慣來寫SQL。
① 表名和字段名,即使是中文也不用加單引號;
② 對于表格內的value值,要不要加單引號取決于這個字段設置的數據類型。
比如說看例表的屬性:
可以發現population列是int類型,而country是字符串類型,寫的過程中就需要添加單引號,比如country=’美國’。
3、SQL中的任何標點都是英文格式下的,所以避免切換不清,最好使用英文字段名之類的,避免重復切換造成標點格式的錯誤。
SQL不使用引號、使用單引號或雙引號的區別
加引號和不加引號有什么區別?
表名和字段名,即使是中文也不用加單引號;
對于表格內的value值,要不要加單引號取決于這個字段設置的數據類型, 不加引號是數字類型,加了就是字符串或日期類型了 如果是 int 類型,那么是不需要引號的,不過,加起引號也不會報錯,會自動轉換類型。
SQL中的單引號和雙引號有區別嗎?
在標準 SQL 中,字符串使用的是單引號。
如果字符串本身也包括單引號,則使用兩個單引號(注意,不是雙引號,字符串中的雙引號不需要另外轉義)。
但在其它的數據庫中可能存在對 SQL 的擴展,比如在 MySQL 中允許使用單引號和雙引號兩種。
MySQL 參考手冊
字符串指用單引號’或雙引號"引起來的字符序列。例如:
- ‘
a string
’ - “
another string
”
如果SQL服務器模式啟用了NSI_QUOTES,可以只用單引號引用字符串。用雙引號引用的字符串被解釋為一個識別符。
總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持。
相關文章:
