1. 程式人生 > >mysql的單引號[ ' ],雙引號[ " ]和esc下面的反勾號[ ` ]的區別

mysql的單引號[ ' ],雙引號[ " ]和esc下面的反勾號[ ` ]的區別

這兩天寫sql的時候,發現別名什麼的喜歡直接使用雙引號, 可是好像有時候用雙引號會報錯,或者單引號會報錯, 所以詳細把這三個符號區分了一下.

單引號 ' 和雙引號 "都可以表示字串,所以沒有太多的區別 , 在平時用的時候是沒問題的(windows)

SELECT "abc"

SELECT 'abc'

查詢的結果都是:
這裡寫圖片描述

所以都代表字串

至於Esc鍵下面的[ ` ]和單引號 [ ’ ],在linux下和windows下不同,linux下不區分,windows下區分。

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

資料庫、表、索引、列和別名用的是引用符是反勾號(‘`’)

我們再試試

SELECT `abc`

結果是

[SQL]SELECT `abc`

[Err] 1054 - Unknown column 'abc' in 'field list'

找不到這個列, 說明反勾號 ` 還是指的表, 索引 ,別名, 列名

我們來看看NavicatPremium自動生成的sql指令碼:
這裡寫圖片描述

可以看到表名都是[ ` ],字串都是[ ’ ] , 所以大家也在寫sql語句的時候, 最好也要按照這種規範來寫