[转帖]SQL标准
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标准的更多相关文章
- SQL Standard Based Hive Authorization(基于SQL标准的Hive授权)
说明:该文档翻译/整理于Hive官方文档https://cwiki.apache.org/confluence/display/Hive/SQL+Standard+Based+Hive+Authori ...
- [转帖] SQL参数化的优点 CopyFrom https://www.cnblogs.com/-lzb/articles/4840671.html
梦在远方的小猪 感谢原作者... 后面总结的五点感觉挺好的.. 自己之前的知识点一直没有串起来. 转帖记录一下感谢. sql参数化参数化 说来惭愧,工作差不多4年了,直到前些日子被DBA找上门让我优 ...
- sql标准支持了事务隔离级别
事务隔离级别 尽管数据库为用户提供了锁的DML操作方式,但直接使用锁管理是非常麻烦的,因此数据库为用户提供了自动锁机制.只要用户指定会话的事务隔离级别,数据库就会分析事务中的SQL语句,然后自动为事务 ...
- [转帖]sql server版本特性简介、版本介绍简介
sql server版本特性简介.版本介绍简介 https://www.cnblogs.com/gered/p/10986240.html 目录 1.1.sql server的版本信息 1.2.版本重 ...
- mysql,SQL标准,多表查询中内连接,外连接,自然连接等详解之查询结果集的笛卡尔积的演化
先附上数据. CREATE TABLE `course` ( `cno` ) NOT NULL, `cname` ) CHARACTER SET utf8 NOT NULL, `ctime` ) NO ...
- 常用的sql标准建表语句
使用指定数据库 use v4base 建一张表 /*************************************************************************** ...
- [转帖]SQL Server 索引中include的魅力(具有包含性列的索引)
SQL Server 索引中include的魅力(具有包含性列的索引) http://www.cnblogs.com/gaizai/archive/2010/01/11/1644358.html 上个 ...
- [转帖]SQL Server 10分钟理解游标
SQL Server 10分钟理解游标 https://www.cnblogs.com/VicLiu/p/11671776.html 概述 游标是邪恶的! 在关系数据库中,我们对于查询的思考是面向集合 ...
- [转帖]SQL Server DBCC命令大全
SQL Server DBCC命令大全 原文出处:https://www.cnblogs.com/lyhabc/archive/2013/01/19/2867174.html DBCC DROPC ...
- [转帖]SQL Server 2000~2017补丁包
SQL Server 2000~2017补丁包 https://www.cnblogs.com/VicLiu/p/11510510.html 最新更新 Product Version Latest S ...
随机推荐
- python -m http.server在本地启动简单HTTP服务器的命令
1.python -m http.server 命令 python -m http.server 是一个用于在本地启动简单 HTTP 服务器的命令.这个命令会在当前工作目录启动一个基本的 HTTP ...
- 聚焦企业开放OpenAPI痛难点,华为云API Explorer助力构建API门户
本文分享自华为云社区<聚焦企业开放OpenAPI痛难点,华为云API Explorer助力伙伴构建API门户>,作者:华为云PaaS服务小智. 当前,IT研发的主流架构已从单体架构向微服务 ...
- 【玩转鲲鹏 DevKit系列】如何快速迁移无源码应用?
本文分享自华为云社区<[玩转鲲鹏 DevKit系列]如何快速迁移无源码应用?>,作者: 华为云社区精选. 为了帮助广大用户和开发者快速将无源码应用从 x86 迁移到鲲鹏,鲲鹏 DevKit ...
- SPL:跑批有这么难么?
摘要:SPL实现了更优算法,性能远远超过存储过程,能显著提高单机计算效率,非常适合跑批计算. 本文分享自华为云社区<Java开源专业计算引擎:跑批真的这么难吗?>,作者: Java李杨勇. ...
- 拔掉电源会怎样?GaussDB(for Redis)双活让你有备无患
摘要:GaussDB(for Redis)推出双活方案,助力全球化业务部署,为您的数据资产保驾护航! 本文分享自华为云社区<华为云GaussDB(for Redis)揭秘第22期:拔掉电源会怎样 ...
- 实践GoF的23的设计模式:SOLID原则(下)
摘要:本文将讲述SOLID原则中的接口隔离原则和依赖倒置原则. 本文分享自华为云社区<实践GoF的23的设计模式:SOLID原则(下)>,作者:元闰子. 在<实践GoF的23种设计 ...
- Xml Entity 实体互转(JAXB)
感觉比 xStream 操作起来复杂些 Xml Entity 实体互转(XStream).但学习成本低些,不需要引用第三方依赖包 需要注意的是 实体中如果加了 getXX 需要在上面加上 @XmlTr ...
- Docker 与 Linux Cgroups:资源隔离的魔法之旅
这篇文章主要介绍了 Docker 如何利用 Linux 的 Control Groups(cgroups)实现容器的资源隔离和管理. 最后通过简单 Demo 演示了如何使用 Go 和 cgroups ...
- django实现微信公众号扫码登录
首先是去获取access_token,access_token接口有次数限制,所以保存到缓存,失效时再去调用接口 import base64 import json import time impor ...
- Kafka--简介,部署
kafka官网:https://kafka.apache.org/documentation/ 本文kafka版本:3.1.0 一.简介 Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消 ...