mysql中“ ‘ “和 “ ` “的區別

王逍遙大人發表於2020-11-28

第一種情況下

兩者在linux下和windows下不同,linux下不區分,windows下區分。

在windows下主要區別就是

單引號( ’ )或雙引號主要用於 字串的引用符號

如:

mysql> SELECT ‘hello’, ‘“hello”’, ‘"“hello”"’, ‘hel’‘lo’, '/‘hello’;

資料庫、表、索引、列和別名用的是引用符是反勾號(‘`’) 注:Esc下面的鍵

如:

mysql>SELECT * FROM select WHERE select.id > 100;

如果SQL伺服器模式包括ANSI_QUOTES模式選項,還可以用雙引號將識別符引起來:

mysql> CREATE TABLE “test” (col INT);
ERROR 1064: You have an error in your SQL syntax. (…)
mysql> SET sql_mode=‘ANSI_QUOTES’;
mysql> CREATE TABLE “test” (col INT);
Query OK, 0 rows affected (0.00 sec)

另外一種情況下

在這裡插入圖片描述

  • 單引號:我們在例子中的條件值周圍使用的是單引號。SQL 使用單引號來環繞文字值。如果是數值,請不要使用引號。

按照別的說法來說就是Varchar型別(也可以說是String、字串型別)這一些在資料庫語句中使用的時候應該使用單引號,而不是直接使用。

而對於數值型別的,反而是不能使用單引號。

如圖所示有正確的和錯誤的使用方法:

  • 反引號:它是為了區分MYSQL的保留字與普通字元而引入的符號。

注意劃重點:有MYSQL保留字作為欄位的,必須加上反引號來區分!!!

所謂的保留字就是select database insert 這一類資料庫的sql指令,當我們不得已要拿他們來做表名和欄位名的時候 我們必須要加反引號來避免編譯器把這部分認為是保留字而產生錯誤。

當然,在上面的例子中,id並不是保留字,這麼加反引號只是作一個保險,這也是一個良好的sql建表習慣。

務必要記住:保留字既不能作為表名,也不能作為欄位名,如果非要這麼操作,請記住要增加反引號!

相關文章