在本教學中,您將學習如何使用MySQL註釋來記錄MySQL中的SQL語句或程式碼塊。
注釋可用於記錄SQL語句的目的或儲存過程中程式碼塊的邏輯。解析SQL程式碼時,MySQL會忽略註釋部分。 它只執行除了可執行註釋之外的SQL部分,我們將在下一節討論。
MySQL支援三種注釋樣式(方式):
樣式一: 從--
到行尾
雙重衝突注釋樣式至少需要在第二個破折號之後的空格或控制字元(空格,製表符,換行符等)。
SELECT * FROM users; -- This is a comment
請注意,標準SQL在第二個破折號後不需要空格。 MySQL使用空白來避免某些SQL構造的問題,如:
SELECT 10--1;
該語句返回11
。
樣式二: 從--
到行尾
參考如下查詢語句-
SELECT
lastName, firstName
FROM
employees
WHERE
reportsTo = 1002; # get subordinates of Diane
樣式三:
C語言風格的註釋/* */
可以跨越多行。您使用此注釋樣式記錄一個SQL程式碼塊。
/*
Get sales rep employees
that reports to Anthony
*/
SELECT
lastName, firstName
FROM
employees
WHERE
reportsTo = 1143
AND jobTitle = 'Sales Rep';
請注意,MySQL不支援巢狀注釋。
MySQL提供可執行注釋來支援不同資料庫之間的可移植性。這些註釋允許嵌入僅能在MySQL中執行,但不能在其他資料庫執行SQL程式碼。
下面說明了可執行注釋語法:
/*! MySQL-specific code */
例如,以下語句使用可執行注釋:
SELECT 1 /*! +1 */ ;
該語句返回2
而不是1。但是,如果在其他資料庫系統中執行,則返回1。
字串"#####"
表示可以執行注釋的最小版本的MySQL。 第一個#
表示主要版本,例如5
或8
,第二個2
個數位(##
)是次要版本。 最後2
個(##
)表示修補程式級別。
例如,以下註釋只能在MySQL 5.1.10或更高版本中執行:
CREATE TABLE t1 (
k INT AUTO_INCREMENT,
KEY (k)
) /*!50110 KEY_BLOCK_SIZE=1024; */
在本教學中,您已經學會了如何使用MySQL註釋來記錄MySQL中的SQL程式碼。