mysql 服务器支持如下几种注释方式:
(1) # 到该行结束 # 这个注释直到该行结束 mysql> SELECT 1+1;
(2)-- 到该行结束 -- 这个注释直到该行结束
注意: -- (双长划) 注释风格要求在两个长划后至少有一个空格!
附加:
自MySQL3.23.3 以来,除了刚才介绍的注释风格外,还可以用两个短划线和一个空格(“-- ”)来开始注释;从这两个短划线到行的结束的所有内容都作为注释处理。有的数据库以双短划线作为注释的起始。MySQL也允许这样,但需要加一个空格以免产生混淆。例如,带有如像5--7 这样的表达式的语句有可能被认为包含一个注释,但不可能写5-- 7这样的表达式,因此,这是一个很有用的探索。然而,这仅仅是一个探索,最好不用这种风格的注释。
(3)/* 行中间或多个行 */
mysql> SELECT 1+1; mysql> SELECT 1/* 这是一个在行中间的注释 */ + 1;
mysql> SELECT 1+
/* 这是一个
多行注释
的形式
*/
1;
单引号和双引号:被用来标志一个被引用字符串的开始,即使是在一个注释中。如果注释中的引号没有另一个引号与之配对,那和语法分析程序就不会认为注释结束。如果你以交互式运行 mysql,你会产生困惑,因为提示符从 mysql> 变为 '> 或 ">。
分号:被用于指出当前 SQL 语句的结束并且跟随它的任何东西表示下一行的开始。
自MySQL3.23 版以来,可在C 风格的注释中“隐藏” MySQL特有的关键字,注释以“/ * !”而不是以“ / *”起头。MySQL查看这种特殊类型注释的内部并使用这些关键字,但其他数据库服务器将这些关键字作为注释的一部分忽略。这样有助于编写由MySQL执行时利用MySQL特有功能的代码,而且该代码也可以不用修改就用于其他数据库服务器。下面的两条语句对于非MySQL的数据库服务器是等价的,但如果是MySQL服务器,将在第二条语句中执行一个INSERT DELAYED 操作: