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