SQL的基本书写规则

对于 SQL 初学者,在写 SQL 语句时,只要遵守下面几个书写规则,就可以避免很多错误。这些规则都非常简单,下面我们来逐一介绍。

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 语句中的标点符号必须都是英文状态下的,即半角字。