SQL自学指南(02):什么是SQL?

SQL自学指南(02):什么是SQL?
最新回答
bb机!

2021-06-29 18:48:44

SQL自学指南(02):什么是SQL?

SQL(Structured Query Language)最初是一种用于操控关系数据库中的数据的语言,但经过40多年的发展,它已经演变成了一种跨各种数据库技术操作数据的标准语言。尽管许多人认为SQL是“结构化查询语言”的缩写,但实际上SQL并不是任何短语的缩写,在提到该语言时,可以使用单独的字母(即S.Q.L)或使用sequel一词。

一、SQL的历史与标准

  • 历史背景:SQL已经有40多年的历史,期间经历了巨大的变化。
  • 标准化进程:在20世纪80年代中期,美国国家标准协会(ANSI)开始为SQL语言制定标准,并于1986年发布了第一个标准。随后,该标准不断改进,在1989年、1992年、1999年、2003年、2006年、2008年、2011年和2016年发布了一系列新的SQL标准。
  • 新增特性:除了对核心语言的改进之外,SQL还添加了新的特性,如结合面向对象等其他功能。后来的标准侧重于相关技术的集成,如可扩展标记语言(XML)和JavaScript对象表示法(JSON)。

二、SQL与关系模型

  • 密切关系:SQL与关系模型密切相关,因为SQL查询的结果是一个表(也称为结果集)。因此,只需存储查询的结果集,就可以在关系数据库中创建一个新的固定表。
  • 查询输入:一个查询可以使用固定表和来自其他查询的结果集作为输入。

三、SQL语句的类别

SQL语言分为几个不同的部分,包括:

  • SQL案例(Schema)语句:用于定义存储在数据库中的数据结构。例如,使用create table语句在数据库中创建一个新表。
  • SQL数据(Data)语句:用于操作SQL案例语句所定义的数据结构。例如,使用insert语句在新表中插入数据。
  • SQL事务(Transaction)语句:用于开始、结束和回滚事务(将在后续章节介绍)。

四、SQL:非过程化语句

  • 过程化语言:定义了期望的结果和生成结果的机制或过程。
  • 非过程化语言:定义了期望的结果,但生成结果的过程留给了外部代理(如数据库引擎的优化器)来定义。
  • 优化器:查看SQL语句,并考虑表的配置方式和有无索引可用等,以确定最有效的执行路径。

五、SQL示例

以下是一些SQL语句的示例,用于展示SQL的基本用法:

  • 创建表

该语句创建一个包含两列的表,列为corp_id和name,其中corp_id列被设置为表的主键。

  • 插入数据

此语句向corporation表中添加一行数据,其中corp_id列的值为27,name列的值为Acme Paper Corporation。

  • 检索数据

通过select语句检索刚刚创建的数据。

六、SQL与其他编程语言的集成

虽然SQL功能强大,但仅使用SQL无法编写完整的应用程序。通常需要将SQL与编程语言相集成,以构建更复杂的应用程序。一些数据库供应商提供了特定的过程化扩展语言(如Oracle的PL/SQL、MySQL的存储过程语言、Microsoft的Transact-SQL),允许将数据库查询与过程化命令无缝集成。对于非特定于数据库的语言(如Java或Python),则需要使用数据库供应商提供的工具包/API来执行SQL语句。

综上所述,SQL是一种强大且灵活的语言,用于操作关系数据库中的数据。通过学习和掌握SQL,你可以更有效地管理和查询数据库中的数据,为构建复杂的应用程序提供坚实的基础。