SQL从入门到出门 第1篇 SQL 简介

文章目录

我在 CSDN 学院发布的 《SQL 入门视频教程》

SQL 历史

SQL 代表 Structured Query Language,即结构化查询语言。它是访问和操作关系型数据库(RDBMS)的标准语言。SQL 的发音为/ˈɛs kjuː ˈɛl/ 或者 /ˈsiːkwəl/。

关系型数据库管理系统(Relational Database Management System),简称 RDBMS,支持关系数据模型,主要的概念包括二维表、集合操作、完整性约束等等。常见的产品有 Oracle、MySQL、Microsoft SQL Server、PostgreSQL、Db2、SQLite 等等。

SQL 最初由由 IBM 公司开发,基于 E.F. Codd 博士的论文《A Relational Model of Data for Large Shared Data Banks》。1979 年 Relational Software, Inc.(即后来的 Oracle)发布了第一个商用的 SQL 产品。

SQL 在 1986 年成为 ANSI 的一个标准,并且在 1987 年成为 ISO 的一个标准。

ANSI 在1992 年对 SQL 标准进行了修订,称为 SQL92 或者 SQL2;在 1999 年再次进行了修订,称为 SQL99 或者 SQL3。

如今,SQL 标准由 ANSI 和 ISO/IEC 共同维护,随后经历的修订版本包括 SQL:2003、SQL:2006、SQL:2008、SQL:2011。最新的版本为 SQL:2016或者 ISO/IEC 9075:2016,它取代了之前的所有版本。关于 SQL:2016的新特性可以参考SQL:2016标准之新特性

SQL 语句分类

常见的 SQL 语句包含以下类别:

  • DQL(data query language),数据查询语言;主要是SELECT语句,用于查询数据库中的数据和信息。
  • DML(data manipulation language),数据操作语言;主要用于对数据库进行数据的增加、修改和删除,包括INSERTUPDATEDELETEMERGE等语句。
  • DDL(data definition language),数据定义语言;主要用于定义数据库中的模式对象,例如表或索引,包括CREATEALTERDROP等等。
  • TCL(transaction control language),事务控制语言;用于管理数据库事务,主要包含BEGIN TRANSACTIONCOMMITROLLBACKSAVEPOINT等语句。
  • DCL(data control language),数据控制语言;用于控制数据的访问权限,主要有GRANTREVOKE等语句。

SQL 实现与扩展

不同厂商基于 SQL 标准实现了自己的数据库产品,它们都在一定程度上兼容 SQL 标准,具有一定的可移植性。另一方面,虽然这些实现的大部分与 ANSI 兼容,但没有任何一种产品完全遵循标准。因此,SQL 代码在不同数据库之间很少能够不用修改就能直接移植。

本系列文章除了介绍标准 SQL 语言之外,还分别比较六种主流关系型数据库中的具体实现和差异,包括 Oracle、MySQL、Microsoft SQL Server、PostgreSQL、Db2、SQLite。

除此之外,许多数据库产品还提供了过程语言扩展(Procedural Language),例如控制流结构(if else、while、for 等)。

产品扩展描述
SQL标准SQL/PSMSQL/持久存储模块
OraclePL/SQL过程语言/SQL
MySQLSQL/PSMSQL/持久存储模块
SQL ServerT-SQLTransact-SQL
PostgreSQLPL/pgSQL过程语言/PosgtreSQL
Db2SQL PLSQL过程语言
SQLiteN/A不支持

SQL 编程规范

如果企业拥有自己的编程规范,和它保持一致即可;如果没有,往下看。

推荐一本书,《Joe Celko’s SQL Programming Style》,中文版名为《SQL 编程风格》。

推荐一篇文章,SQL 样式指南

人生本来短暂,你又何必匆匆!点个赞再走吧!

    原文作者:董旭阳TonyDong
    原文地址: https://blog.csdn.net/horses/article/details/80066428
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞