MySQL书写规范及注释
SQL 语句要以分号;结尾
在 RDBMS (关系型数据库)当中,SQL 语句是逐条执行的,一条 SQL 语句代表着数据库的一个操作。
我们通常在句子的句尾加注标点表示这句话结束,中文句子以句号。
结尾,英文以点号.
结尾,而 SQL 语句则使用英文分号;
结尾。
SQL 语句不区分大小写
SQL 不区分关键字的大小写。例如,不管写成 SELECT 还是 select,解释都是一样的。表名和列名也是如此。
提示:关键字是数据库事先定义的,有特别意义的单词。
虽然可以根据个人喜好选择大写还是小写(或大小写混杂),但为了理解起来更加容易,本教程使用以下规则来书写 SQL 语句。
- 关键字大写
- 数据库名、表名和列名等小写
需要注意的是,插入到表中的数据是区分大小写的。例如,向数据库中插入单词 Computer、COMPUTER 或 computer,这三个是不一样的数据
常数的书写方式是固定的
SQL 语句常常需要直接书写字符串、日期或者数字。例如,书写向表中插入字符串、日期或者数字等数据的 SQL 语句。
在 SQL 语句中直接书写的字符串、日期或者数字等称为常数。常数的书写方式如下所示:
- SQL 语句中含有字符串的时候,需要像 'abc' 这样,使用英文单引号
'
将字符串括起来,用来标识这是一个字符串。 - SQL 语句中含有日期的时候,同样需要使用英文单引号将其括起来。日期的格式有很多种('26 Jan 2010' 或者'10/01/26' 等),本教程统一使用 '2020-01-26' 这种
'年-月-日'
的格式。 - 在 SQL 语句中书写数字的时候,不需要使用任何符号标识,直接写成 1000 这样的数字即可。
注意:列名不是字符串,不能使用单引号。在MySQL 中可以用倒引号```把表名和列名括起来。
单词需要用半角空格或者换行来分隔
SQL 语句的单词之间必须使用半角空格(英文空格)或换行符来进行分隔。没有分隔的语句会发生错误,无法正常执行。
下面是分隔和未分隔的 SQL 语句:
- CREATE TABLE Product(正确)
- CREATETABLE Product(错误)
- CREATE TABLEProduct(错误)
不能使用全角空格(中文空格)作为单词的分隔符,否则会发生错误,出现无法预期的结果。
SQL 语句中的标点符号必须都是英文状态下的,即半角字。
注释:单行注释和多行注释
每一种语言都有自己的注释方式,代码量越多,代码注释的重要性也就越明显。一般情况下,注释可以出现在程序中的任何位置,用来向用户或程序员提示或解释程序的功能及作用。
下面主要介绍 MySQL 中 SQL 语句的注释方法。
注释在 SQL 语句中用来标识说明或者注意事项的部分,对 SQL 的执行没有任何影响。因此,注释内容中无论是英文字母还是汉字都可以随意使用。
MySQL 注释分为单行注释和多行注释,下面分别来介绍这两种注释。
MySQL 单行注释
1) 单行注释可以使用#
注释符,#
注释符后直接加注释内容。格式如下:
#注释内容
单行注释使用注释符#
的示例如下:
#从结果中删除重复行
SELECT DISTINCT product_id, purchase_price FROM Product;
2) 单行注释可以使用--
注释符,--
注释符后需要加一个空格,注释才能生效。格式如下:
-- 注释内容
单行注释使用注释符--
的示例如下:
-- 从结果中删除重复行
SELECT DISTINCT product_id, purchase_price FROM Product;
#
和--
的区别就是:#
后面直接加注释内容,而--
的第 2 个破折号后需要跟一个空格符在加注释内容。
MySQL 多行注释
多行注释使用/* */
注释符。/*
用于注释内容的开头,*/
用于注释内容的结尾。多行注释格式如下:
/*
第一行注释内容
第二行注释内容
*/
注释内容写在/*
和*/
之间,可以跨多行。
多行注释的使用示例如下
/*这条SELECT语句,
会从结果中删除重复行*/
SELECT DISTINCT product_id, purchase_price FROM Product;
任何注释(单行注释和多行注释)都可以插在 SQL 语句中,且注释可以放在 SQL 语句中的任意位置。
在 SQL 语句中插入单行注释,如下所示:
SELECT DISTINCT product_id, purchase_price-- 从结果中删除重复行。 FROM Product;SELECT DISTINCT product_id, purchase_price#从结果中删除重复行。 FROM Product;
在 SQL 语句中插入多行注释,如下所示:
SELECT DISTINCT product_id, purchase_price/* 这条SELECT语句, 会从结果中删除重复行。*/ FROM Product;
注释可以写在任何 SQL 语句当中,且 SQL 语句中对注释的数量没有限制。
MySQL 注释能够帮助阅读者更好地理解 SQL 语句,特别是在使用复杂的 SQL 语句时,所以大家应该尽量多添加一些简明易懂的注释。