🗒️Day50【概念解析】SQL
00 分钟
2023-11-10
2023-11-12
type
status
date
slug
summary
tags
category
icon
password

整理定义

定义1

SQL(发音为字母S-Q-L或sequel)是结构化查询语言(Structured Query Language)的缩写。SQL是一种专门用来与数据库通信的语言。
——《SQL必知必会》

定义2

Codd基于对关系模型的定义,他提出了一种叫作DSL/Alpha的语言,用于操作关系数据表中的数据。在Codd的论文发表后不久,IBM委托一个小组根据Codd的想法建立一个原型。这个小组创建了DSL/Alpha的简化版本SQUARE。经过对SQUARE的改进,产生了SEQUEL语言,最终该语言被命名为SQL。尽管SQL最初是用于操作关系型数据库中的数据,但如今已经演变为一种可以处理各种数据库技术的语言。
SQL现在已有40多年的历史,其间经历了很大的变化。20世纪80年代中期,美国国家标准协会(American National Standards Institute,ANSI)开始制定SQL语言的第一个标准,该标准最终于1986年发布。随后经过改进,陆续在1989年、1992年、1999年、2003年、2006年、2008年、2011年、2016年发布了新版本。在改良核心语言的同时,SQL语言中还添加了一些新特性,引入了面向对象功能等。之后的标准侧重于相关技术的集成,比如可扩展标记语言(XML)和JavaScript对象表示法(JSON)。
——《SQL学习指南》

复述展开

什么是SQL?

💡
SQL 是 Structured Query Language 的缩写,读音 S-Q-L 或者 sequel。它是一种用于编程的特定领域的结构化语言,旨在管理关系型数据库系统。

SQL的优点

❑ SQL不是某个特定数据库厂商专有的语言。绝大多数重要的DBMS支持SQL,所以学习此语言使你几乎能与所有数据库打交道。
❑ SQL简单易学。它的语句全都是由有很强描述性的英语单词组成,而且这些单词的数目不多。
❑ SQL虽然看上去很简单,但实际上是一种强有力的语言,灵活使用其语言元素,可以进行非常复杂和高级的数据库操作。

理解体会

SQL 是一种用于数据库的结构化语言,它也是一种标准,1986年成为ANSI标准,1987年成为 ISO标准,1992年,ISO和IEC发布了SQL的国际标准,成为SQL-92,现在最新的是ISO/IEC 9075-1:2023
许多DBMS厂商通过增加语句或指令,对SQL进行了扩展。这种扩展的目的是提供执行特定操作的额外功能或简化方法。虽然这种扩展很有用,但一般都是针对个别DBMS的,很少有两个厂商同时支持这种扩展。标准SQL由ANSI标准委员会管理,从而称为ANSI SQL。所有主要的DBMS,即使有自己的扩展,也都支持ANSI SQL。各个实现有自己的名称,如Oracle的PL/SQL、微软SQL Server用的Transact-SQL等。
学好了标准的SQL,不管后续使用其他的RDBMS,都能轻松自如。

标准

Year
Name
Alias
Comments
1986
SQL-86
SQL-87
First formalized by ANSI
1989
SQL-89
FIPS 127-1
Minor revision that added integrity constraints adopted as FIPS 127-1
1992
SQL2, FIPS 127-2
Major revision (ISO 9075), Entry Level SQL-92 adopted as FIPS 127-2
1999
SQL3
Added regular expression matching, recursive queries (e.g., transitive closure), triggers, support for procedural and control-of-flow statements, nonscalar types (arrays), and some object-oriented features (e.g., structured types), support for embedding SQL in Java (SQL/OLB) and vice versa (SQL/JRT)
2003
Introduced XML-related features (SQL/XML), window functions, standardized sequences, and columns with autogenerated values (including identity columns)
2006
ISO/IEC 9075-14:2006 defines ways that SQL can be used with XML. It defines ways of importing and storing XML data in an SQL database, manipulating it within the database, and publishing both XML and conventional SQL data in XML form. In addition, it lets applications integrate queries into their SQL code with XQuery, the XML Query Language published by the World Wide Web Consortium (W3C), to concurrently access ordinary SQL-data and XML documents.[31]
2008
Legalizes ORDER BY outside cursor definitions. Adds INSTEAD OF triggers, TRUNCATE statement,[32] FETCH clause
2011
Adds temporal data (PERIOD FOR)[33] (more information at Temporal database#History). Enhancements for window functions and FETCH clause.[34]
2016
Adds row pattern matching, polymorphic table functions, operations on JSON data stored in character string fields
2019
SQL:2019
Adds Part 15, multidimensional arrays (MDarray type and operators)
2023
Adds data type JSON (SQL/Foundation); Adds Part 16, Property Graph Queries (SQL/PGQ)

参考

《SQL必知必会》
《SQL经典实例》
《SQL学习指南》
📌
快速跳转链接
【概念解析】启动
【概念解析】Day 1 - 10
【概念解析】Day 11 - 20
【概念解析】Day 21 - 30
【概念解析】Day 31 - 40
【概念解析】Day 41 - 50
【概念解析】Day 51 - 60
【概念解析】Day 61 - 70
【概念解析】Day 71 - 80
【概念解析】Day 81 - 90
 
上一篇
Day51【概念解析】 MySQL
下一篇
Day49 【概念解析】访问者模式

评论
Loading...