SQL 概述


SQL是一种操作数据库的语言,它包括数据库的创建、删除、读取、修改等。

SQL是一个ANSI(美国国家标准协会)标准语言,但 SQL 语言有许多不同的版本。

什么是 SQL?


SQL 是关系数据库系统的标准语言,所有关系数据库管理系统 (RDMS),如 MySQL、MS Access、Oracle、Sybase、Informix、Postgres 和 SQL Server,都使用 SQL 作为其标准数据库语言。

Why SQL?


SQL是数据库中使用最广泛的查询语言之一,这里列出它拥有的优点:

  • 允许用户访问关系数据库管理系统中的数据;

  • 允许用户描述数据;

  • 允许用户定义数据库中的数据并操作该数据;

  • 允许用户创建和删除数据库和表;

  • 允许用户在数据库中创建视图、存储过程、函数;

  • 允许用户设置表、过程和视图的权限。

SQL 简史


  • 1970: IBM 的 Edgar F. "Ted" Codd 博士被誉为关系型数据库之父,他描述了数据库的关系模型;

  • 1974: 结构化查询语言出现;

  • 1978: IBM 致力于开发 Codd 的想法并发布了名为 System/R 的产品;

  • 1986: IBM 开发了第一个关系数据库原型,并由 ANSI 标准化。第一个关系数据库是由 Relational Software 发布的,后来被称为 Oracle。

SQL进程


当你为任何 RDBMS 执行 SQL 命令时,系统会确定执行请求的最佳方式,而 SQL 引擎会确定如何解释任务。

此过程中包含各种组件,这些组件是:

  • 查询调度器

  • 优化引擎

  • 经典查询引擎

  • SQL查询引擎等

经典查询引擎处理所有非 SQL 查询,但 SQL 查询引擎不会处理逻辑文件。

下面是一个简单的 SQL 架构图:

SQL Architecture

SQL 命令


与关系数据库交互的标准 SQL 命令是 CREATE、SELECT、INSERT、UPDATE、DELETE 和 DROP。这些命令根据其性质可以分为以下几组:

DDL - 数据定义语言

序号命令和描述
1

CREATE

在数据库中创建新表、表的视图或其他对象。

2

ALTER

修改现有的数据库对象,例如表。

3

DROP

删除整个表、表的视图或数据库中的其他对象。

DML - 数据操作语言

序号命令和描述
1

SELECT

从一个或多个表中检索某些记录。

2

INSERT

创建记录。

3

UPDATE

修改记录。

4

DELETE

删除记录。

DCL - 数据控制语言

序号命令和描述
1

GRANT

授予用户特权。

2

REVOKE

收回用户授予的权限。