什么是数据库?什么是SQL?怎么入门SQL?( 三 )


  • SELECT:查询表中的数据
  • INSERT:向表中插入新数据
  • UPDATE:更新表中的数据
  • DELETE:删除表中的数据
●DCL
DCL(Data Control Language,数据控制语言) 用来确认或者取消对数据库中的数据进行的变更 。除此之外,还可以对RDBMS 的用户是否有权限操作数据库中的对象(数据库表等)进行设定 。DCL 包含以下几种指令 。
  • COMMIT: 确认对数据库中的数据进行的变更
  • ROLLBACK: 取消对数据库中的数据进行的变更
  • GRANT: 赋予用户操作权限
  • REVOKE: 取消用户的操作权限
SQL 根据功能不同可以分为三类,其中使用最多的是DML 。
SQL 的基本书写规则
书写SQL 语句时必须要遵守一些规则 。这些规则都非常简单,接下来我们来逐一认识一下 。
■ SQL 语句要以分号(;)结尾
一条SQL 语句可以描述一个数据库操作 。在RDBMS 当中,SQL 语句也是逐条执行的 。
众所周知,我们在句子的句尾加注标点表示结束,中文句子以句号( 。)结尾,英文以点号(.)结尾,而SQL 语句则使用分号(;)结尾 。
■ SQL 语句不区分大小写
SQL 不区分关键字的大小写。例如,不管写成SELECT 还是select,解释都是一样的 。表名和列名也是如此 。
虽然可以根据个人喜好选择大写还是小写(或大小写混杂),但为了理解起来更加容易,可以用以下规则来书写SQL 语句 。
  • 关键字大写
  • 表名的首字母大写
  • 其余(列名等)小写
但是插入到表中的数据是区分大小写的 。例如,在操作过程中,数据Computer、COMPUTER 或computer,三者是不一样的 。
■ 常数的书写方式是固定的
SQL 语句常常需要直接书写字符串、日期或者数字 。例如,书写向表中插入字符串、日期或者数字等数据的SQL 语句 。
在SQL 语句中直接书写的字符串、日期或者数字等称为常数 。常数的书写方式如下所示 。
SQL 语句中含有字符串的时候,需要像'abc'这样,使用单引号(')将字符串括起来,用来标识这是一个字符串 。
SQL 语句中含有日期的时候,同样需要使用单引号将其括起来 。日期的格式有很多种('26 Jan 2010' 或者'10/01/26' 等),也可以使用'2010-01-26' 这种' 年- 月- 日' 的格式 。
在SQL 语句中书写数字的时候,不需要使用任何符号标识,直接写成1000 这样的数字即可 。
■ 单词需要用半角空格或者换行来分隔
SQL 语句的单词之间需使用半角空格或换行符来进行分隔 。如下这种未加分隔的语句会发生错误,无法正常执行 。
○ CREATE TABLE Product
× CREATETABLE Product
× CREATE TABLEProduct
但是不能使用全角空格作为单词的分隔符,否则会发生错误,出现无法预期的结果 。
表的内容的创建
在我们学习针对表的查询,以及数据变更等SQL 语句之前 。我们要先创建学习这些SQL 语句所需的数据库和表 。
什么是数据库?什么是SQL?怎么入门SQL?

文章插图
【什么是数据库?什么是SQL?怎么入门SQL?】表2 举例用的商品表
该表是某家小商店销售商品的一览表 。商品的数量不多,不过我们可以把它想象成大量数据中的一部分(毕竟这只是为了学习SQL 而创建的表) 。像0003 号商品的登记日期以及0006 号商品的进货单价这样的空白内容,我们可以认为是由于店主疏忽而忘记输入了 。
我们可以看到表2 由6 列8 行所组成 。最上面一行是数据的项目名,真正的数据是从第2 行开始的 。
备忘
接下来,我们会逐步学习创建数据库和表所使用的SQL 语句的书写方式 。在这之前,请先准备好学习环境(PostgreSQL) 。
数据库的创建(CREATE DATABASE语句)
前面提到,在创建表之前,一定要先创建用来存储表的数据库 。运行CREATE DATABASE 语句就可以在RDBMS 上创建数据库了 。CREATEDATABASE 语句的语法如下所示 。
这里我们仅指定了使用该语法所需的最少项目,实际开发数据库时还需要指定各种其他项目 。
语法1-1 创建数据库的CREATE DATABASE语句
CREATE DATABASE <数据库名称>;这里我们将数据库命名为shop,然后执行代码清单1-1 中的SQL语句 。
代码清单1-1 创建数据库shop的CREATE DATABASE语句
CREATE DATABASE shop;此外,数据库名称、表名以及列名都要使用半角字符(英文字母、数字、符号),具体内容随后会进行介绍 。


推荐阅读