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 命令
与关系数据库交互的标准 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 收回用户授予的权限。 |