SQL基础理论篇(一):什么是SQL

什么是SQL

SQL的全称是Structured Query Language,即结构化查询语句。

其最早诞生于1974年,IBM研究员发布的一篇论文"SEQUEL:一门结构化的英语查询语言"。这几十年里,太多的语言诞生,太多的语言消失,但是SQL的发展却愈久弥坚,甚至都没有发生过太大的变化,可以说,它的半衰期是很长的。

SQL作为与数据直接打交道的语言,是与各种前端后端语言进行交互的"中台"语言。

技术人员或多或少都会使用SQL,但是不同的人编写的SQL效率是不一样的,比如说一份好的SQL执行计划就会尽量减少IO操作,因为IO是DBMS最容易出现瓶颈的地方,可以说数据库操作中大量的时间都花在了IO上。

相比其他编程语言,SQL语言是非常直观的,即使没有SQL基础,也能凭借英语基础猜出大致意思。

SQL的四大部分

按照功能的不同,我们可以把SQL语言划分成4部分:

  • DDL,即Data Definition Language,数据定义语言。通过DDL,我们可以创建、删除和修改数据库和表结构;
  • DML,即Data Manipulation Language,数据操作语言。通过DML,我们可以增加、删除和修改数据表中的记录;
  • DCL,即Data Control Language,数据控制语言。通过DCL,我们可以来定义访问权限和安全级别;
  • DQL,即Data Query Language,数据查询语言。通过DQL,我们可以查询我们需要的数据记录。

SQL是我们与DBMS交流的语言,我们在创建DBMS之前,还需要对它进行设计,对于RDBMS(对象关系型数据库管理系统)来说,是采用ER图(Entity Relationship Diagram),即实体 - 关系图的方式进行设计。

ER图评审通过后,我们再使用SQL或者其他可视化管理工具,来创建数据表。

实体 - 关系图是我们用来描述现实世界的概念模型,在这个模型里有3个要素:实体,属性和关系。

实体就是我们要管理的对象,属性是标识每个实体的属性,关系则是指实体对象之间的关系。比如客户这个实体,有姓名、性别和证件号等属性。

关系型数据库中最重要的一种数据结构就是数据表,这些数据表的组成都是结构化的。你可以把关系模型理解成一个二维表格模型。

常用的SQL标准

SQL自诞生后已经发行了很多版本的标准规范,不同规范下的SQL操作是有区别的。

SQL有两个主要的标准,分别是SQL92SQL99。数字代表了它们提出的年份。除了这两种标准以外,还存在SQL-86、SQL-89、SQL:2003、SQL:2008、SQL:2011和SQL:2016等其他的标准,但最重要且应用最广泛的还是SQL92和SQL99。

SQL92和SQL99各有各自的特点。SQL92标准更简单,但是写出的SQL可读性差,可能会比较长。而SQL99语法稍微复杂,但是可读性更强。从这两个标准发布的页数中也可窥一斑,92版本有500页,但是99标准超过了1000页。(这两个标准我们日常其实都在使用)

SQL92和SQL99是最经典的SQL标准,也被称为是SQL-2、SQL-3标准。从这两个标准发布后,SQL的影响力越来越大,逐渐超脱了数据库领域,在信息处理等方面崭露头角。

此外,我们所使用的DBMS,即MySQL、DB2等,都支持SQL语言,但是它们只符合大部分的SQL标准,因为它们大都在常用SQL标准的基础上,根据自身产品的特点做出了拓展(方言化)。

目前oracle仍然支持92标准,但是MySQL已经不支持92标准的连接语句了。

SQL语言跟其他语言不同,它的半衰期是很长的。SQL92标准发布于1992年,同期也发布了Windows3.1,但是现在我们早已经不适用windows3.1了,而92标准却持续使用至今。

参考文献

  1. 01丨了解SQL:一门半衰期很长的语言
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值