規(guī)則1: SQL語句必須以分號(;)或者(\G)結(jié)束
分號(;)是SQL語句的結(jié)束標(biāo)志。如果遺忘了分號,而直接按下回車鍵時(shí),在MySQL客戶端上將顯示如下
?12 mySQL> SELECT * FROM customer ->
因?yàn)闆]有以分號結(jié)束,客戶端認(rèn)為SQL語句并沒有結(jié)束,顯示[->]等待用戶繼續(xù)輸入命令,直到以分號結(jié)束。有些數(shù)據(jù)庫中,支持省略最后的分號的情況。
規(guī)則2: 保留關(guān)鍵字不區(qū)分大小寫
保留關(guān)鍵字是SQL中事先定義好的關(guān)鍵字,如上面檢索語句中的SELECT、FROM等就屬于保留關(guān)鍵字。在SQL中這些保留關(guān)鍵字是不區(qū)分大小寫的。也就是說以下的語句都能正確地
被執(zhí)行。
?123 mySQL> SELECT * FROM customer; mySQL> select * FROM customer; mySQL> SeLecT * FROM customer;
但是,一般情況下在編寫SQL時(shí),還是要盡量統(tǒng)一保留關(guān)鍵字的大小。例如,以大寫字母的形式寫保留關(guān)鍵字,以小寫字母的形式寫表或列名, SQL語句也會看起來一目了然。另外,根據(jù)使用的數(shù)據(jù)庫的不同,有的數(shù)據(jù)庫中是區(qū)分表或列名的大小寫的。
規(guī)則3: 可自由地加入空白或換行符
在SQL語句的中間,可以自由地加入空格或換行符,例如以下語言是可以被正確執(zhí)行的。
?123456 mySQL> SELECT * -> FROM customer; mySQL> SELECT->* ->FROM->customer;
但是,在一個(gè)關(guān)鍵字的中間加入空格或改行符是不合法的。
一個(gè)SQL語句可以作為一行來編寫,但是對那些比較長的語旬,可以在其中加入適當(dāng)?shù)母男蟹?,這樣方便閱讀。
以命令語句為單位換行是一個(gè)可以參考的標(biāo)準(zhǔn),例如,在SELECT語句中將檢索對象列名一一列出,而下一行的FROM命令后列出檢索對象表名,這樣整個(gè)SQL語句看起來層次分明。
另外,在列名或表名后也可以換行,例如,將SELECT單獨(dú)列一行,其后的檢索對象列名前加入一個(gè)縮進(jìn)(tab)后,將所有的列名一一行單獨(dú)列出。
規(guī)則4: 使用[--]或[/* ...*/]加注釋
在SQL語句中可以加入注釋的。注釋是不被DBMS解釋的信息。注釋又分為單行注釋,以及多行注釋。單行注釋以兩個(gè)[-]開頭, 直到一行的末尾部被看作注釋。多行注釋是由[/*]與[*/]包含起來的字符串組成。.
?1234 mySQL> SELECT * FROM customer; --THIS IS COMMENTS mysql>/*this /*>is/*>comments*/
更多信息請查看IT技術(shù)專欄