MySQL註釋

2019-10-16 22:57:10

在本教學中,您將學習如何使用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。 第一個表示主要版本,例如58,第二個2個數位(##)是次要版本。 最後2個(##)表示修補程式級別。

例如,以下註釋只能在MySQL 5.1.10或更高版本中執行:

CREATE TABLE t1 (
    k INT AUTO_INCREMENT,
    KEY (k)
)  /*!50110 KEY_BLOCK_SIZE=1024; */

在本教學中,您已經學會了如何使用MySQL註釋來記錄MySQL中的SQL程式碼。