SQL 的标准

1986 年 10 月,美国国家标准协会 ANSI 采用 SQL 作为关系数据库管理系统的标准语言,并命名为 ANSI X3. 135-1986,后来国际标准化组织(ISO)也采纳 SQL 作为国际标准。

1989 年,ANSI 采纳并使用了在 ANSI X3.135-1989 报告中定义的 SQL 标准语言,并称之为 ANSI SQL 89,该标准替代了之前的 ANSI X3.135-1986 版本。

下面是 SQL 发展的简要历史:

  • 1986年,ANSI X3.135-1986,ISO/IEC 9075:1986,SQL-86。

  • 1989年,ANSI X3.135-1989,ISO/IEC 9075:1989,SQL-89。

  • 1992年,ANSI X3.135-1992,ISO/IEC 9075:1992,SQL-92(SQL2)。

  • 1999年,ISO/IEC 9075:1999,SQL:1999(SQL3)。

  • 2003年,ISO/IEC 9075:2003,SQL:2003。

  • 2008年,ISO/IEC 9075:2008,SQL:2008。

  • 2011年,ISO/IEC 9075:2011,SQL:2011。

现在,绝大多数被提及的 SQL 标准,其中涉及的内容其实都是 SQL 92 里最基本、最核心的一部分。OceanBase 数据库目前也遵循的是 SQL 92 标准,并支持后续 SQL 标准的部分重要特性。

SQL 的运行

SQL 是用来访问关系数据库,例如 OceanBase、Oracle 和 MySQL 的接口,所有的 SQL 语句都是对数据库的操作指令。

通常,SQL 可以分为以下 5 个部分:

  • 数据查询语言 DQL(Data Query Language):也称为数据检索语言,用以从表中获得数据,并描述怎样将数据返回给程序并输出。DQL 并不改变数据库中存储的数据内容。

  • 数据操作语言 DML(Data Manipulation Language):用以改变数据库中存储的数据内容,即增加、修改和删除数据。

  • 事务控制语言 TCL(Transaction Control Language):保证数据库的完整性、一致性,在同一个事务中的 DML 语句要么同时成功,要么同时失败。

  • 数据控制语句 DCL(Data Control Language):对数据访问权限控制的命令。可以控制特定账号对特定数据库资源的访问权限。

  • 数据定义语言 DDL(Data Definition Language):对数据库中资源进行定义、修改和删除,例如新建表和删除表等。

SQL 的移植性

SQL 是访问数据库的标准语言,所有的主要关系数据库都支持 SQL,因此所有用 SQL 编写的程序都是可移植的。通常进行少量的修改就可以从一个关系数据库移植到另一个关系数据库上。

词汇惯例

  • 粗体 表示与操作或以文本或词汇表定义的术语相关联的图形用户界面元素。

  • 保留字、关键字、标识符和参数中的大小写不敏感。为方便阅读与识别,这些字会以大写形式书写。

  • 在不同的编程环境中,SQL 语句终止方式不同。本文档中以分号";" 来标识一个 SQL 的结尾。

  • 行内代码 表示文档中引用的代码。

  • 为了突出重要信息,本文档会加粗"说明"、"注意"和"重要"等文字。

  • 本文档中可选参数文本用方括号括起,例如 [-n, -quiet]。

[转帖]SQL标准的更多相关文章

  1. SQL Standard Based Hive Authorization(基于SQL标准的Hive授权)

    说明:该文档翻译/整理于Hive官方文档https://cwiki.apache.org/confluence/display/Hive/SQL+Standard+Based+Hive+Authori ...

  2. [转帖] SQL参数化的优点 CopyFrom https://www.cnblogs.com/-lzb/articles/4840671.html

    梦在远方的小猪 感谢原作者...  后面总结的五点感觉挺好的.. 自己之前的知识点一直没有串起来. 转帖记录一下感谢. sql参数化参数化 说来惭愧,工作差不多4年了,直到前些日子被DBA找上门让我优 ...

  3. sql标准支持了事务隔离级别

    事务隔离级别 尽管数据库为用户提供了锁的DML操作方式,但直接使用锁管理是非常麻烦的,因此数据库为用户提供了自动锁机制.只要用户指定会话的事务隔离级别,数据库就会分析事务中的SQL语句,然后自动为事务 ...

  4. [转帖]sql server版本特性简介、版本介绍简介

    sql server版本特性简介.版本介绍简介 https://www.cnblogs.com/gered/p/10986240.html 目录 1.1.sql server的版本信息 1.2.版本重 ...

  5. mysql,SQL标准,多表查询中内连接,外连接,自然连接等详解之查询结果集的笛卡尔积的演化

    先附上数据. CREATE TABLE `course` ( `cno` ) NOT NULL, `cname` ) CHARACTER SET utf8 NOT NULL, `ctime` ) NO ...

  6. 常用的sql标准建表语句

    使用指定数据库 use v4base 建一张表 /*************************************************************************** ...

  7. [转帖]SQL Server 索引中include的魅力(具有包含性列的索引)

    SQL Server 索引中include的魅力(具有包含性列的索引) http://www.cnblogs.com/gaizai/archive/2010/01/11/1644358.html 上个 ...

  8. [转帖]SQL Server 10分钟理解游标

    SQL Server 10分钟理解游标 https://www.cnblogs.com/VicLiu/p/11671776.html 概述 游标是邪恶的! 在关系数据库中,我们对于查询的思考是面向集合 ...

  9. [转帖]SQL Server DBCC命令大全

    SQL Server DBCC命令大全   原文出处:https://www.cnblogs.com/lyhabc/archive/2013/01/19/2867174.html DBCC DROPC ...

  10. [转帖]SQL Server 2000~2017补丁包

    SQL Server 2000~2017补丁包 https://www.cnblogs.com/VicLiu/p/11510510.html 最新更新 Product Version Latest S ...

随机推荐

  1. Java 插入、隐藏/显示、删除Excel行或列

    概述 操作Excel工作表时,对表格中的行或列数据可执行,包括插入.隐藏.显示.删除等在内的多种操作需求,本文将通过Java代码示例演示每种操作的具体实现方法.文中方法使用了Java Excel类库( ...

  2. Python 初学者必看:Python 异常处理集合

    摘要:作为 Python 初学者,在刚学习 Python 编程时,经常会看到一些报错信息,本文专门介绍 python 异常处理. 异常 广义上的错误分为错误和异常 错误指的是可以人为避免 异常是指在语 ...

  3. 实践GoF的设计模式:代理模式

    摘要: 代理模式为一个对象提供一种代理以控制对该对象的访问. 本文分享自华为云社区<[Go实现]实践GoF的23种设计模式:代理模式>,作者:元闰子 . 简介 GoF 对代理模式(Prox ...

  4. 云图说丨OLAP开源引擎的一匹黑马,MRS集群组件之ClickHouse

    摘要:ClickHouse是俄罗斯公司 Yandex 在2016年开源的高性能.开源联机分析列式数据库管理系统.开源后,凭借卓越的分析性能.极好的线性扩展能力和丰富的功能,被业界公认为实时分析领域 O ...

  5. Axure 选中同意复选框后,改变登录按钮的颜色

    登录时,当选中 同意用户协议后 复选框,登录按钮变颜色 登录按钮 设置登录按钮的选中颜色 同意协议 当同意复选框被选中后,设置 登录 的选中状态为 真,这时候触发登录按钮改变颜色, 取消勾选后,登录按 ...

  6. python 内置命名空间、标准库、模块相关概念

    内置命名空间 python 解释器启动后就可以直接使用一些函数,常量,类型,异常等.保存这些数据的空间统称内置命名空间. 内置命名空间中包含的数据如下: 对于内置命名空间中最常用的就是内置函数. 内置 ...

  7. django DRF

    博客目录 web应用模式 api接口 接口测试工具postman restful规范 drf安装 序列化和反序列化 CBV源码分析 drf之APIView分析 drf之Request对象分析 drf- ...

  8. 详解 SSL(二):SSL 证书对网站的好处

    在如今谷歌.百度等互联网巨头强制性要求网站 HTTPS 化的情况下, 网站部署 SSL 证书已然成为互联网的发展趋势.而在上一篇< 详解 SSL(一):网址栏的小绿锁有什么意义?>中,我们 ...

  9. Python使用pandas库读取csv文件,并分组统计的一个例子

    代码: # coding=gbk # 从HostWrites.csv读取数据并分组统计 import pandas import datetime print "\r\n从 HostWrit ...

  10. Java23种设计模式学习笔记

    创建型模式:关注对象的创建过程 1.单例​模式: 保证一个类只有一个实例,并且提供一个访问该实例的全局访问点 主要: 饿汉式(线程安全,调用效率高,但是不能延时加载) 懒汉式(线程安全,调用效率不高, ...