SQL是一种数据库语言,它包含了数据库创建、删除、检索数据和修改数据等功能。
什么是SQL?
SQL是结构化查询语言,一种用于存储、操作和检索关系数据库的计算机语言。
SQL是关系数据库系统的标准语言。所有的关系数据库系统,例如MySQL、MS Access、Oracle、Sybase、Informix、DB2、Postgres、SQLite、Firebird以及SQL Server等都使用SQL作为标准数据库语言。
除此之外,不同的数据库还拥有自己的SQL方言,例如:
- MS SQL Server使用T-SQL
- Oracle使用PL/SQL
- MS Access的SQL被称为JET SQL(本机格式)等
为什么使用SQL?
- 允许用户访问关系数据库系统中的数据
- 允许用户描述数据
- 允许用户定义数据库中的数据并操作数据
- 允许使用SQL模块、代码库和预编译器将SQL嵌入其他语言
- 允许用户创建和删除数据库和表
- 允许用户在数据库中创建视图、存储过程和函数
- 允许用户设置表、过程和视图的权限
历史事件
- 1970 -- 被称为关系数据库之父的IBM Edgar F. "Ted" Codd博士提出了关系数据库模型。
- 1974 -- 结构化查询语言诞生。
- 1978 -- IBM实现了Codd的想法并发布了System/R。
- 1986 --IBM开发了首个关系数据库原型,SQL成为了ANSI标准。第一个关系数据库产品由Relational Software发布,这就是后来的Oracle。
SQL执行过程
当你在任何RDBMS上执行SQL命令时,系统决定实行请求的最佳方式,SQL引擎确定如何解释查询任务。
执行过程中将会涉及到各种组件,包括查询调度器、优化引擎、传统查询引擎和SQL查询引擎等。传统查询引擎处理所有的非SQL查询,SQL查询引擎不处理逻辑文件。
以下是一个简化的SQL架构图:
SQL命令
与关系数据库进行交互的标准SQL命令包括CREATE、SELECT、INSERT、UPDATE、DELETE和DROP。这些命令可以分为以下不同的组:
DDL - 数据定义语言
命令 | 描述 |
CREATE | 创建一个新表、表的视图或者其他对象 |
ALTER | 修改一个已有的数据库对象,例如表 |
DROP | 删除整个表、视图或者其他对象 |
DML - 数据操作语言
命令 | 描述 |
SELECT | 从一个或多个表中检索数据 |
INSERT | 创建一条数据 |
UPDATE | 修改数据 |
DELETE | 删除数据 |
DCL - 数据控制语言
命令 | 描述 |
GRANT | 为用户授权 |
REVOKE | 撤销用户权限 |