首页 > 数据库 > > 9.5 表达式和注释的语法
参考官方文档:
https://dev.mysql.com/doc/refman/5.7/en/expressions.html
表达式语法(略)
此处显示的语法基于MySQL源代码分发版的sql/sql_yacc.yy文件中给出的语法。 有关某些术语的其他信息,请参阅语法后的注释。
命令语法
MySQL服务器支持三种注释风格:
下面示例演示了所有三种注释样式:
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;
不支持嵌套注释。 (在某些情况下,嵌套评论可能被允许,但通常不是,用户应该避免它们。)
MySQL服务器支持一些C风格注释的变体。 这些使您可以使用以下格式的注释编写包含MySQL扩展的代码,但仍然可以移植:
/*! MySQL-specific code */
不支持嵌套注释。 (在某些情况下,嵌套注释可能被允许,但通常不是,用户应该避免它们。)
MySQL服务器支持一些C风格注释的变体。 这些使您可以使用以下格式的注释编写包含MySQL扩展的代码,但仍然可以移植:
SELECT /*! STRAIGHT_JOIN */ col1 FROM table1,table2 WHERE ...
如果您在!后添加版本号 字符,只有当MySQL版本大于或等于指定的版本号时才会执行注释中的语法。 以下注释中的KEY_BLOCK_SIZE关键字仅由MySQL 5.1.10或更高版本的服务器执行:
CREATE TABLE t1(a INT, KEY (a)) /*!50110 KEY_BLOCK_SIZE=1024 */;
刚刚描述的注释语法适用于mysqld服务器如何分析SQL语句。 在将客户端程序发送给服务器之前,还会执行一些语句分析。 (这是为了确定多语句输入行内的语句边界。)
这种格式的注释/ *!12345 ... * /不存储在服务器上。 如果此格式用于注释存储例程,则注释将不会保留在服务器上。
C风格评论语法的另一种变体用于指定优化器hint。 提示注释包括/ *注释打开序列后面的+字符。 例:
SELECT /*+ BKA(t1) */ FROM ... ;
--和oracle hint 一样
不支持在多行/ * ... * /注释中使用短格式的mysql命令,例如\ C。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69946831/viewspace-3166804/ ,如需转载,请注明出处,否则将追究法律责任。