MySQL 註解語法

2013-04-29_173736

這是MySQL 5實力養成暨評量裡的3-60.『在SQL敘述中,我們可以採用哪些方式在SQL敘述中加入註解來增加腳本的可讀性?

答案:(A)#(B)–(C)/*…*/

有誰會寫sql 註解的?我想地球上所有的人類中會少我一個吧,一直只知道在程式中寫註解,從來就沒想在SQL寫註解的大叔,今天終於面臨到這個惡夢了,#的使用不會有問題,因為perl不是也有這樣的註解方式嗎,/*…*/,更是熟悉不過了,C跟Java不是也是這樣幹的,但是這個–方式,很抱歉我只好缺席了,為了加入這個–的圈圈中,我們只好痛定思痛了。

先看看在手冊哪裡有說明吧

MySQL 5.7 Reference Manual :: 9 Language Structure :: 9.6 Comment Syntax

引用繁體手冊MySQL 5.1參考手冊 :: 9.語言結構::9.5註釋語法的資訊如下:

MySQL伺服器支持3種sql 註解風格:

·         從’ # ‘字符從行尾。

·         從’ — ‘序列到行尾。請注意’ — ‘ (雙破折號)註釋風格要求第2個破折號後面至少跟一個空格符(例如空格、tab、換行符等等)。該語法與標準SQL註釋語法稍有不同,後者將在1.8.5.7, “’–‘作為註釋起始標記”中討論。

·         從/*序列到後面的*/序列。結束序列不一定在同一行中,因此該語法允許註釋跨越多行。這種斜線星形的sql區塊註解在Transact-SQL,也就是我們常看到的微軟的SQL Server上也會看到。

下面的例子顯示了3種風格的註釋:

mysql> SELECT 1+1; # This comment continues to the end of line
mysql> SELECT 1+1; -- This comment continues to the end of line
mysql> SELECT 1 /* this is an in-line comment */ + 1;
mysql> SELECT 1+
/*
this is a
multiple-line comment
*/
1;

上述的註釋語法適用於mysqld伺服器如何分析SQL語句。發送到伺服器之前,mysql 客戶程序也執行部分語句解析。(例如,它通過解析來確定在多語句行中的語句邊界)。

在MySQL 5.1中,mysql解析/* …*/註釋的唯一局限性是結合該風格的註釋定界符使用的嘆號標記了有條件執行的SQL語句部分。適用於交互式運行mysql和將命令放入一個文件中,並以批處理模式使用mysql來處理mysql <file_name的文件。詳細信息和例子參見1.8.4節,“MySQL對標準SQL的擴展”。

例子中解釋的太清楚了,好吧,今天就分想到這裡。

※2022/02/19
分享桃園大眾捷運股份有限公司 108 年度新進人員招募甄試試題,專業科目: C 語言(含 C++、C#)及資料庫中關於sql 註解的問題:
下列何者為 T-SQL 的註解? (A)/##/ (B)/**/ (C)/–/ (D)’’
答案:(B)

更多SQL相關文章閱讀:

何謂資料隱碼(SQL injection)攻擊?程式設計師應如何預防?
MySQL BLOB和TEXT型態
資料庫正規化
MySQL 流程控制的迴圈
C# List 定義及七種常用方法
用G Suite協作平台Google Sites打造專業的賺錢網站在家工作

感謝你看到這裡,很快就可以離開了,但最好的獎勵行動就是按一下幫我分享或留言,感恩喔~

點我分享到Facebook

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *