解讀SQL語(yǔ)句中要不要加單引號(hào)的問(wèn)題
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)文章
mysql中的find_in_set字符串查找函數(shù)解析
這篇文章主要介紹了mysql中的find_in_set字符串查找函數(shù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-08-08MySQL索引類型總結(jié)和使用技巧以及注意事項(xiàng)
索引是快速搜索的關(guān)鍵。MySQL索引的建立對(duì)于MySQL的高效運(yùn)行是很重要的。下面介紹幾種常見(jiàn)的MySQL索引類型2014-04-04數(shù)據(jù)庫(kù)索引知識(shí)點(diǎn)整理
這篇文章主要介紹了數(shù)據(jù)庫(kù)索引知識(shí)點(diǎn)整理,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考2021-01-01