规则1: SQL语句必须以分号(;)或者(\G)结束
分号(;)是SQL语句的结束标志。如果遗忘了分号,而直接按下回车键时,在MySQL客户端上将显示如下
?
12 | mySQL> SELECT * FROM customer -> |
因为没有以分号结束,客户端认为SQL语句并没有结束,显示[->]等待用户继续输入命令,直到以分号结束。有些数据库中,支持省略最后的分号的情况。
规则2: 保留关键字不区分大小写
保留关键字是SQL中事先定义好的关键字,如上面检索语句中的SELECT、FROM等就属于保留关键字。在SQL中这些保留关键字是不区分大小写的。也就是说以下的语句都能正确地
被执行。
?
123 | mySQL> SELECT * FROM customer; mySQL> select * FROM customer; mySQL> SeLecT * FROM customer; |
但是,一般情况下在编写SQL时,还是要尽量统一保留关键字的大小。例如,以大写字母的形式写保留关键字,以小写字母的形式写表或列名, SQL语句也会看起来一目了然。另外,根据使用的数据库的不同,有的数据库中是区分表或列名的大小写的。
规则3: 可自由地加入空白或换行符
在SQL语句的中间,可以自由地加入空格或换行符,例如以下语言是可以被正确执行的。
?
123456 | mySQL> SELECT * -> FROM customer; mySQL> SELECT ->* -> FROM ->customer; |
但是,在一个关键字的中间加入空格或改行符是不合法的。
一个SQL语句可以作为一行来编写,但是对那些比较长的语旬,可以在其中加入适当的改行符,这样方便阅读。
以命令语句为单位换行是一个可以参考的标准,例如,在SELECT语句中将检索对象列名一一列出,而下一行的FROM命令后列出检索对象表名,这样整个SQL语句看起来层次分明。
另外,在列名或表名后也可以换行,例如,将SELECT单独列一行,其后的检索对象列名前加入一个缩进(tab)后,将所有的列名一一行单独列出。
规则4: 使用[--]或[/* ...*/]加注释
在SQL语句中可以加入注释的。注释是不被DBMS解释的信息。注释又分为单行注释,以及多行注释。单行注释以两个[-]开头, 直到一行的末尾部被看作注释。多行注释是由[/*]与[*/]包含起来的字符串组成。.
?
1234 | mySQL> SELECT * FROM customer; --THIS IS COMMENTS mysql>/*this /*> is /*>comments*/ |