MySQL 注释

Mehvish Ashiq 2023年1月30日 2022年5月13日
  1. MySQL 单行注释
  2. MySQL 多行注释
  3. MySQL 可执行文件注释
  4. 结论
MySQL 注释

在本文中,我们将介绍 MySQL 注释。我们还将了解应该在哪里使用什么类型的注释。

注释写的都是描述代码,方便理解。我们还使用注释在解析 SQL 查询时忽略代码的某一部分(不要让那段代码被执行)。

它还可以帮助其他程序员了解代码中发生的事情。我们将看到如何在 MySQL 中使用单行和多行注释。我们还将了解可执行注释及其用途。

有三种不同的方式来编写 MySQL 注释。我们可以使用 #-/**/符号来注释。

MySQL 单行注释

我们可以通过两种方式使用 MySQL 单行注释,使用 #-

让我们创建一个名为 tb_teachers 的表来练习 MySQL 注释。我们使用 # 在下面给出的 MySQL 查询中编写单行注释。

此注释用在 SQL 查询的末尾,并且后面必须有一个换行符。如果你在注释后不使用换行符,则同一行中的所有内容都将被注释,直到遇到换行符。不需要在 # 之后放置空格。但是在 # 后面留一个空格来增加可读性是一个好方法。

使用 # 的 MySQL 示例代码:

# Following SQL query will create a table named 'tb_teachers'
CREATE TABLE `practice_mysql_comments`.`tb_teachers` (
 TEACHER_ID	INTEGER NOT NULL,
 FIRST_NAME	VARCHAR(30) NOT NULL,
 LAST_NAME	VARCHAR(30) NOT NULL,
 GENDER	VARCHAR(30) NOT NULL,
 CITY	VARCHAR(64) NOT NULL,
 EMAIL	VARCHAR(64) NOT NULL,
 JOINING_YEAR INTEGER NOT NULL,
 PRIMARY KEY	(TEACHER_ID)
);

请参阅以下代码示例,其中我们在使用单行注释后不放置换行符。你可以看到 CREATE 命令也被部分注释。

# Following SQL query will create a table named 'tb_teachers' CREATE TABLE `practice_mysql_comments`.`tb_teachers` (
 TEACHER_ID	INTEGER NOT NULL,
 FIRST_NAME	VARCHAR(30) NOT NULL,
 LAST_NAME	VARCHAR(30) NOT NULL,
 GENDER	VARCHAR(30) NOT NULL,
 CITY	VARCHAR(64) NOT NULL,
 EMAIL	VARCHAR(64) NOT NULL,
 JOINING_YEAR INTEGER NOT NULL,
 PRIMARY KEY	(TEACHER_ID)
);

我们也可以在 SQL 查询中使用这种类型的注释。请参阅以下代码;你可以观察到我们可以在 SQL 查询中使用 # 进行注释。

# Following SQL query will create a table named 'tb_teachers' 
CREATE TABLE `practice_mysql_comments`.`tb_teachers` (
 TEACHER_ID	INTEGER NOT NULL, # teacher's id
 FIRST_NAME	VARCHAR(30) NOT NULL, # teacher's first name
 LAST_NAME	VARCHAR(30) NOT NULL, # teacher's last name
 GENDER	VARCHAR(30) NOT NULL, # teacher's gender
 CITY	VARCHAR(64) NOT NULL, # teacher's home town
 EMAIL	VARCHAR(64) NOT NULL, # teacher's email
 JOINING_YEAR INTEGER NOT NULL, # teacher's appointment year
 PRIMARY KEY (TEACHER_ID) # primay key of the teacher's table
);

让我们探索使用 - 符号的另一种单行注释方式。下面的 SQL 代码表明,即使在 SQL 查询中,我们也可以使用双 -(破折号)符号进行注释。

这与我们使用 # 符号进行注释相同,只有一个区别。我们必须在第二个破折号之后放置至少一个空格;否则,它不会作为注释。

-- Following SQL query will create a table named 'tb_students' 
CREATE TABLE `practice_mysql_comments`.`tb_students` (
 STUDENT_ID	INTEGER NOT NULL, -- student's id
 FIRST_NAME	VARCHAR(30) NOT NULL, -- student's first name
 LAST_NAME	VARCHAR(30) NOT NULL, -- student;s last name
 GENDER	VARCHAR(30) NOT NULL, -- student's gender
 CITY	VARCHAR(64) NOT NULL, -- student's home town
 EMAIL	VARCHAR(64) NOT NULL, -- student's email
 REGISTRATION_YEAR INTEGER NOT NULL, -- student's registration year
 PRIMARY KEY (STUDENT_ID) -- primay key of the student's table
);

MySQL 多行注释

如果我们需要详细解释 SQL 查询以使代码易于理解,我们使用多行注释。 /* */ 中的所有内容都将被忽略。是否在此类注释的末尾放置换行符都没关系,但最好有一个换行符来编写干净且有条理的代码。

/* 
Following SQL query will create a table named 'tb_students'
having the basic information about the students. This information includes
full name, gender, city, email and registration year.
*/
CREATE TABLE `practice_mysql_comments`.`tb_students` (
 STUDENT_ID	INTEGER NOT NULL, 
 FIRST_NAME	VARCHAR(30) NOT NULL, 
 LAST_NAME	VARCHAR(30) NOT NULL, 
 GENDER	VARCHAR(30) NOT NULL, 
 CITY	VARCHAR(64) NOT NULL, 
 EMAIL	VARCHAR(64) NOT NULL,
 REGISTRATION_YEAR INTEGER NOT NULL, 
 PRIMARY KEY (STUDENT_ID) 
);

虽然我们可以把多行注释当成单行来处理,但是为什么我们有单行注释还要增加工作量呢。当你不想执行多于一行时,最好使用多行注释。请参阅以下示例。

/* 
Following SQL query will create a table named 'tb_students'
having the basic information about the students. This information includes
full name, gender, city, email and registration year.
*/
CREATE TABLE `practice_mysql_comments`.`tb_students` (
 STUDENT_ID	INTEGER NOT NULL, 
 FIRST_NAME	VARCHAR(30) NOT NULL, 
 LAST_NAME	VARCHAR(30) NOT NULL, 
 GENDER	VARCHAR(30) NOT NULL, 
 CITY	VARCHAR(64) NOT NULL, 
 /* EMAIL	VARCHAR(64) NOT NULL,
 REGISTRATION_YEAR INTEGER NOT NULL, */
 PRIMARY KEY (STUDENT_ID) 
);

MySQL 可执行文件注释

MySQL 还支持可执行注释。这种类型的注释为你提供了在各种数据库之间的可移植性。这些注释中编写的代码只会在 MySQL 中执行。如果你在 ! 之后指定版本字符,它只适用于那个特定的 MySQL 版本 或更高版本。

可执行注释的示例代码:

SELECT 3 /*! *2 */ AS MULTIPLICATION;

结论

我们已经得出结论,MySQL 注释在编程时起着至关重要的作用。它是什么类型的编程并不重要。如果你必须忽略多行,使用多行注释是一个不错的选择;否则,单行注释就可以了。如果你希望仅在 MySQL 服务器上执行某段代码,则可以使用 MySQL 可执行注释。

Mehvish Ashiq avatar Mehvish Ashiq avatar

Mehvish Ashiq is a former Java Programmer and a Data Science enthusiast who leverages her expertise to help others to learn and grow by creating interesting, useful, and reader-friendly content in Computer Programming, Data Science, and Technology.

LinkedIn GitHub Facebook