《SQL实战》书摘(1):什么是SQL?

SQL是一种广泛用于管理数据和数据库系统的编程语言。无论你是营销分析师、记者还是绘制果蝇大脑神经元的研究人员,SQL收集、修改、探索和总结数据的能力都能让你受益。

因为SQL是一种已经存在了数十年的成熟语言,所以它深深扎根在很多现代系统里面。在英国计算机科学家Edgar F. Codd理论工作的基础上,IBM的一对研究人员在1974年的一篇论文中首次阐述了SQL的语法(这种语言当时被称为SEQUEL)。在1979年,数据库公司Oracle的前身Relational Software成为了第一个在商业产品中使用该语言的公司。时至今日,SQL仍然是世界上使用最多的计算机语言,并且这种现象在短时间内都不会改变。

每个数据库系统,比如PostgreSQL 、MySQL或者Microsoft SQL Server ,都实现了自己的SQL变体。因此,如果你从一个系统突然转向另一个系统,那么你可能会发现一些或细微或明显的区别。这种现象的背后有好几个原因。美国国家标准协会(ANSI)在1986年通过了一个SQL标准,随后国际标准化组织(ISO)在1987年也通过了这一标准。但这个标准并未完整覆数据库实现SQL所需的方方面面,比如说,标准就没有规定如何创建索引。这就使得各个数据库系统制造商需要选择如何实现标准没有覆盖的功能,并且目前也没有任何制造商声称它们能够符合整个标准。

与此同时,基于商业目的考虑,商业数据库供应商可能会创建非标准的SQL特性以获得竞争优势,又或者将其用作把用户留在自有生态系统的一种手段。比如说,Microsoft SQL Server使用的专有Transact-SQL(T-SQL)就包含了一些SQL标准之外的特性,比如它的局部变量定义语法。因此,把使用T-SQL编写的代码迁移至其他数据库系统可能并不是一件容易的事情。

Tip

本文摘录自《SQL实战》一书,欢迎访问本书主页以了解更多相关信息:huangz.works/sql/

../_images/psqlcn-banner.jpg