MySQL中單引號和反引號的區別是什么?
一、MySQL中單引號和反引號的區別
MySQL / MariaDB 數據庫中,使用反引號、雙引號和單引號的規律可以概括為以下三點:單引號( ‘ )和雙引號( ” ) 用于字符串和日期,作用相同。反引號( )用于表名和列名。數字作為數值時,不要用任何引號,保留符、關鍵字不要用任何引號。
單引號、雙引號
單引號( ‘ ) 用于 里包含的字符串和日期。VALUES()
當然 MySQL 也支持雙引號括字符串,它與單引號可以互換使用,不過如果沒有什么特殊原因,還是盡量選擇用單引號。 雙引號很有可能引起未知錯誤。
MySQL 里的 和 也需要使用單引號括起來作為DATEDATETIME字符串,比如 。 當然,某些版本「時間」你不用單引號也能 ,不過勸你不要這么做,都括起來養成良好的編程習慣,安全又省心。’1970-01-01 00:00:00’INSERT INTO
反引號
反引號()[反引號在鍵盤的左上角],用于標記「表名」和「列名」,通常情況加不加都行。 但如果「表名」或「列名」為 MySQL 保留符,那么一定要加反引號作為區分。
不過建議盡量避免使用保留符作為表名和列名,以免引起未知錯誤。
不用引號的情況
MySQL 關鍵字、保留字、函數,比如 和 都不能使用引號括起來。 如果使用單引號把函數括起來,那么對于 MySQL 來說,它就變成了字符串,失去了函數的功能。NULLNOW()’NOW()’
總結
一定要掌握好如何在 MySQL / MariaDB 中,使用或不使用引號的規律,亂用引號是入門開發者最長出現的問題,特別是因為引號引起的錯誤,報錯中很難提示出來。 這種錯誤很可能讓你要花好久時間,才能排查出來。 而實際上引號的使用并沒有多復雜。 你可以保存本教程中的概覽圖,待以后備查和復習。
延伸閱讀:
二、id的一些典型的類型
整型:整型通常來說是優異的選擇,這是因為整型的運算和比較都很快,而且還可以設置 AUTO_INCREMENT 屬性自動遞增。ENUM 和 SET:通常不會選擇枚舉和集合作為 id,然后對于那些包含有“類型”、“狀態”、“性別”這類型的列來說是挺合適的。例如我們需要有一張表存儲下拉菜單時,通常會有一個值和一個名稱,這個時候值使用枚舉作為主鍵也是可以的。字符串:盡可能地避免使用字符串作為 id,一是字符串占據的空間更大,二是通常會比整型慢。選用字符串作為 id 時,還需要特別注意 MD5、SHA1和 UUID 這些函數。每個值是在很大范圍的隨機值,沒有次序,這會導致插入和查詢更慢:插入的時候,由于建立索引是隨機位置(會導致分頁、隨機磁盤訪問和聚集索引碎片),會降低插入速度。查詢的時候,相鄰的數據行在磁盤或內存上上可能跨度很大,也會導致速度更慢。如果確實要使用 UUID 值,應當移除掉“-”字符,或者是使用 UNHEX 函數將其轉換為16字節數字,并使用 BINARY(16)存儲。然后可以使用 HEX 函數以十六進制的方式進行獲取。UUID 產生的方法有很多,有些是隨機分布的,有些是有序的,但是即便是有序的性能也不如整型。

相關推薦HOT
更多>>
pythonfor循環是什么
pythonfor循環是什么在做遍歷的時候,對于一些數據的反復循環執行,我們會用到for循環的語句。可以說這是新手入門必學的語句之一,在很多基礎循...詳情>>
2023-11-13 07:46:36
pythoncontextmanager()的轉換
python中contextmanager()的轉換1、說明當發出請求時,requests庫會在將請求實際發送到目標服務器之前準備該請求。請求準備包括像驗證頭信息和...詳情>>
2023-11-13 06:34:35
python使用items()遍歷鍵值對
python使用items()遍歷鍵值對字典可以用來存儲各種方式的信息,所以有很多方式可以通過字典的所有鍵值對、鍵或值。說明1、即使通過字典,鍵值對...詳情>>
2023-11-13 04:24:15
python實例方法中self的作用
python實例方法中self的作用說明1、無論是創建類的構造方法還是實例方法,最少要包含一個參數self。2、通過實例的self參數與對象進行綁定,程序...詳情>>
2023-11-13 03:46:48