对于 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-08-13‘ 这种‘年-月-日‘的格式。
在 SQL 语句中书写数字的时候,不需要使用任何符号标识,直接写成类似 6 这样的数字即可。
注意:列名不是字符串,不能使用单引号。在MySQL中可以用倒引号`把表名和列名括起来, 因为有时候列名或表名会和MySQL的关键字冲突, 如果使用``标识, 就会区分开不是关键字。
单词需要用半角空格或者换行来分隔
SQL 语句的单词之间必须使用半角空格(英文空格)或换行符来进行分隔。没有分隔的语句会发生错误,无法正常执行。
下面是分隔和未分隔的 SQL 语句:
CREATE TABLE Product(正确)
CREATETABLE Product(错误)
CREATE TABLEProduct(错误)
不能使用全角空格(中文空格)作为单词的分隔符,否则会发生错误,出现无法预期的结果。
注意:SQL 语句中的标点符号必须都是英文状态下的,即半角字。