mysql 服務器支持如下幾種注釋方式:
(1) # 到該行結束 # 這個注釋直到該行結束 mysql> SELECT 1+1;
(2)-- 到該行結束 -- 這個注釋直到該行結束
注意: -- (雙長划) 注釋風格要求在兩個長划后至少有一個空格!
附加:
自MySQL3.23.3 以來,除了剛才介紹的注釋風格外,還可以用兩個短划線和一個空格(“-- ”)來開始注釋;從這兩個短划線到行的結束的所有內容都作為注釋處理。有的數據庫以雙短划線作為注釋的起始。MySQL也允許這樣,但需要加一個空格以免產生混淆。例如,帶有如像5--7 這樣的表達式的語句有可能被認為包含一個注釋,但不可能寫5-- 7這樣的表達式,因此,這是一個很有用的探索。然而,這僅僅是一個探索,最好不用這種風格的注釋。
(3)/* 行中間或多個行 */
mysql> SELECT 1+1; mysql> SELECT 1/* 這是一個在行中間的注釋 */ + 1;
mysql> SELECT 1+
/* 這是一個
多行注釋
的形式
*/
1;
單引號和雙引號:被用來標志一個被引用字符串的開始,即使是在一個注釋中。如果注釋中的引號沒有另一個引號與之配對,那和語法分析程序就不會認為注釋結束。如果你以交互式運行 mysql,你會產生困惑,因為提示符從 mysql> 變為 '> 或 ">。
分號:被用於指出當前 SQL 語句的結束並且跟隨它的任何東西表示下一行的開始。
自MySQL3.23 版以來,可在C 風格的注釋中“隱藏” MySQL特有的關鍵字,注釋以“/ * !”而不是以“ / *”起頭。MySQL查看這種特殊類型注釋的內部並使用這些關鍵字,但其他數據庫服務器將這些關鍵字作為注釋的一部分忽略。這樣有助於編寫由MySQL執行時利用MySQL特有功能的代碼,而且該代碼也可以不用修改就用於其他數據庫服務器。下面的兩條語句對於非MySQL的數據庫服務器是等價的,但如果是MySQL服務器,將在第二條語句中執行一個INSERT DELAYED 操作: