MySQL允许在SQL 代码中使用注释。这对于说明存放在文件中的查询很有用处。可用两个方式编写注释。以“ #”号开头直到行尾的所有内容都认为是注释。另一种为C 风格的注释。即,以“/ *”开始,以“* /”结束的所有内容都认为是注释。C 风格的注释可跨多行,如:

    自MySQL3.23 版以来,可在C 风格的注释中“隐藏” MySQL特有的关键字,注释以“/ * !”而不是以“ / *”起头。MySQL查看这种特殊类型注释的内部并使用这些关键字,但其他数据服务器将这些关键字作为注释的一部分忽略。这样有助于编写由MySQL执行时利用MySQL特有功能的代码,而且该代码也可以不用修改就用于其他数据服务器。下面的两条语句对于非MySQL的数据服务器是等价的,但如果是MySQL服务器,将在第二条语句中执行一个INSERT DELAYED 操作:


    自MySQL3.23.3 以来,除了刚才介绍的注释风格外,还可以用两个短划线和一个空格(“-- ”)来开始注释;从这两个短划线到行的结束的所有内容都作为注释处理。有的数据库 以双短划线作为注释的起始。MySQL也允许这样,但需要加一个空格以免产生混淆。例如,带有如像5--7 这样的表达式的语句有可能被认为包含一个注释,但不可能写5-- 7这样的表达式,因此,这是一个很有用的探索。然而,这仅仅是一个探索,最好不用这种风格的注释。

另外说明:
     如果在字符“!”后添加了版本号,仅当MySQL的版本等于或高于指定的版本号时才会执行注释中的语法:
例如:CREATE /*!32302 TEMPORARY */ TABLE t (a INT);
这意味着,如果你的版本号为3.23.02或更高,MySQL服务器将使用TEMPORARY关键字。
    在mysqldump过程中那些select都是带有SQL_NO_CACHE的,不知道为什么,其实Manual里边都有解释
SELECT /*!40001 SQL_NO_CACHE */ * FROM `tbMail_1`;
·        SQL_NO_CACHE告知MySQL不要把查询结果存储在查询缓存中。对于一个使用UNION或子查询的查询,本选项会影响查询中的SELECT

其实mysqldump结果SQL里边很多这样的东东:
代表了各个版本Mysql引进的一些东东。
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES gbk */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;