SQL是一种操作数据库的语言; 它包括数据库创建,删除,获取行,修改行等。SQL是ANSI(美国国家标准协会)标准语言,但有许多不同版本的SQL语言。
SQL只是一种查询语言,它不是数据库。 要执行SQL查询,您需要安装任何数据库,例如Oracle,MySQL,MongoDB,PostGre SQL,SQL Server,DB2等。
1. SQL是什么?
SQL是结构化查询语言,它是一种用于存储,操作和检索存储在关系数据库中的数据的计算机语言。
SQL是关系数据库系统的标准语言。所有关系数据库管理系统(RDMS)如:MySQL,MS Access,Oracle,Sybase,Informix,Postgres和SQL Server都使用SQL作为其标准数据库语言。
此外,关系数据库管理系统使用不同的方言,如 -
- MS SQL Server使用T-SQL,
- Oracle使用PL/SQL,
- MS Access的SQL版本称为JET SQL(本机格式)等。
2. 为什么要使用SQL?
SQL广受欢迎,因为它具有以下优点 -
- 允许用户访问关系数据库管理系统中的数据。
- 允许用户描述数据。
- 允许用户定义数据库中的数据并操纵这些数据。
- 允许使用SQL模块,库和预编译器嵌入其他语言。
- 允许用户创建和删除数据库和表。
- 允许用户在数据库中创建视图,存储过程和函数。
- 允许用户设置表,过程和视图的权限。
3. SQL简史
- 1986年 - IBM开发了第一个关系数据库原型并由ANSI标准化,第一个关系数据库由Relational Software发布,后来被称为:Oracle。
- 1978年 - IBM致力于开发Codd的想法,并发布了一款名为System/R的产品。
- 1974年 - 出现了结构化查询语言。
- 1970年 - IBM的Dr. Edgar F. “Ted” Codd 博士是关系数据库的之父,他第一个描述了数据库的关系模型。
4. SQL处理
当RDBMS执行SQL命令时,系统会确定执行请求的最佳方式,而SQL引擎会确定如何解析任务。
此过程中包含各种组件。这些组件是 -
- 查询调度程序
- 优化引擎
- 经典查询引擎
- SQL查询引擎等
经典查询引擎处理所有非SQL查询,但SQL查询引擎不处理逻辑文件。
以下是SQL体系结构的图示 -
5. SQL命令
与关系数据库交互的标准SQL命令是:CREATE
,SELECT
,INSERT
,UPDATE
,DELETE
和DROP
。 这些命令可根据其性质分为以下几组:
5.1. DDL - 数据定义语言
序号 | 命令 | 描述 |
---|---|---|
1 | CREATE |
用于在数据库中创建新表,表视图或其他对象。 |
2 | ALTER |
用于修改现有数据库对象,例如:表。 |
3 | DROP |
用于删除整个表,数据库中的表或其他对象的视图。 |
5.2. DML - 数据操纵语言
序号 | 命令 | 描述 |
---|---|---|
1 | SELECT |
从一个或多个表中检索某些记录。 |
2 | INSERT |
创建一条记录。 |
3 | UPDATE |
用于修改(更新)记录。 |
4 | DELETE |
删除记录。 |
5.3. DCL - 数据控制语言
序号 | 命令 | 描述 |
---|---|---|
1 | GRANT |
为用户提供权限。 |
2 | REVOKE |
撤销用户授予的权限。 |