SQL是什么

SQL 是一种操作数据库语言,包括创建数据库、删除数据库、查询记录、修改记录、添加字段等。SQL 虽然是一种被 ANSI 标准化的语言,但是它有很多不同的实现版本。

ANSI 是 American National Standards Institute 的缩写,中文译为“美国国家标准协会”。SQL 是 Structured Query Language 的缩写,中文译为“结构化查询语言”。SQL 是一种计算机语言,用来存储、检索和修改关系型数据库中存储的数据。

SQL 是关系型数据库的标准语言,所有的关系型数据库管理系统(RDBMS),比如 MySQL、Oracle、SQL Server、MS Access、Sybase、Informix、Postgres 等,都将 SQL 作为其标准处理语言。

此外,SQL 也有一些变种,就像中文有很多方言,比如:

  • 微软的 SQL Server 使用 T-SQL;
  • Oracle 使用 PL/SQL;
  • 微软 Access 版本的 SQL 被称为 JET SQL(本地格式)。

SQL 的用途

SQL 之所以广受欢迎,是因为它具有以下用途:

  • 允许用户访问关系型数据库系统中的数据;
  • 允许用户描述数据;
  • 允许用户定义数据库中的数据,并处理该数据;
  • 允许将 SQL 模块、库或者预处理器嵌入到其它编程语言中;
  • 允许用户创建和删除数据库、表、数据项(记录);
  • 允许用户在数据库中创建视图、存储过程、函数;
  • 允许用户设置对表、存储过程和视图的权限。

SQL 简史

1970 年,IBM 的 Edgar Frank “Ted” Codd(埃德加·弗兰克·科德)博士描述了关系型数据库的模型,他因此被称为“关系型数据库之父”。

1974 年,IBM 希望把 Codd 的想法变成现实,着手开发一款名为 System R 的数据库,并研发出一套结构化查询语句 SEQUEL,这就是 SQL 的雏形。System R 数据库于 1978 年第一次发布,用于科研和实验。

1979 年,Oracle 公司首先提供商用的 SQL,随后 IBM 公司也在 DB2 数据库中实现了 SQL。

1986 年 10 月,美国 ANSI 采用 SQL 作为关系型数据库管理系统的标准语言,紧接着国际标准组织(ISO)也将 SQL 采纳为国际标准。

1989 年,ANSI 发布了 SQL 标准的重大更新版本,以弥补旧版的不足,称为 ANSI SQL 89,该版本也被 ISO 采纳。

目前,市场上主要的关系型数据库都有自己的 SQL 变种, 但是它们都遵守 ANSI SQL 89 标准。

SQL 执行过程

当你在任何一款 RDBMS 中执行 SQL 命令时,系统首先确定执行请求的最佳方式,然后 SQL 引擎将会翻译 SQL 语句,并处理请求任务。

整个执行过程包含了多种组件,比如:

  • 查询调度程序;
  • 优化引擎;
  • 传统的查询引擎;
  • SQL 查询引擎。

传统查询引擎能够处理所有的非 SQL 命令,但是 SQL 引擎并不能处理逻辑文件。

下图展示了 SQL 的体系结构:

SQL是什么
SQL 的体系结构

SQL 命令

与关系型数据库有关的 SQL 命令包括 CREATE、SELECT、INSERT、UPDATE、DELETE、DROP 等,根据其特性,可以将它们分为以下几个类别。

1) DDL – Data Definition Language,数据定义语言

对数据的结构和形式进行定义,一般用于数据库和表的创建、删除、修改等。

命令 说明
CREATE 用于在数据库中创建一个新表、一个视图或者其它对象。
ALTER 用于修改现有的数据库,比如表、记录。
DROP 用于删除整个表、视图或者数据库中的其它对象

2) DML – Data Manipulation Language,数据处理语言

对数据库中的数据进行处理,一般用于数据项(记录)的插入、删除、修改和查询。

命令 说明
SELECT 用于从一个或者多个表中检索某些记录。
INSERT 插入一条记录。
UPDATE 修改记录。
DELETE 删除记录。

3) DCL – Data Control Language,数据控制语言

控制数据的访问权限,只有被授权的用户才能进行操作。

命令 说明
GRANT 向用户分配权限。
REVOKE 收回用户权限。
版权声明

1 本网站名称:诺言博客
2 本站永久网址:https://nuoyo.cn
3 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长 QQ2469329338进行删除处理。
4 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
5 本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
6 本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
7 如无特别声明本文即为原创文章仅代表个人观点,版权归《诺言》所有,欢迎转载,转载请保留原文链接。

给TA打赏
共{{data.count}}人
人已打赏
数据库运维

DBA日记之Oracle 数据库开发规范

2023-9-13 0:00:21

数据库运维

MySQL数据库的一些简单语法规则以及基本操作

2023-9-13 0:00:23

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索