<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh">
	<id>https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=SQL</id>
	<title>SQL - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=SQL"/>
	<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=SQL&amp;action=history"/>
	<updated>2026-07-01T13:21:43Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://arolstar52-zhtest.hf.space/index.php?title=SQL&amp;diff=10818&amp;oldid=prev</id>
		<title>2025年6月16日 (一) 05:43 imported&gt;Evilreality001</title>
		<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=SQL&amp;diff=10818&amp;oldid=prev"/>
		<updated>2025-06-16T05:43:28Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{NoteTA&lt;br /&gt;
|G1 = IT&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Infobox programming language&lt;br /&gt;
| name                   = 结构化查询语言&lt;br /&gt;
| logo                   = [[File:Sql data base with logo.svg|SQL with Logo|100px]]&lt;br /&gt;
| paradigm               = [[声明式编程|声明式]]&lt;br /&gt;
| family                 = [[查询语言]]&lt;br /&gt;
| year                   = 1974&lt;br /&gt;
| designer               = {{tsl|en|Donald D. Chamberlin|唐纳德·钱柏林}}&amp;lt;br /&amp;gt;{{tsl|en|Raymond F. Boyce|雷蒙德·博伊斯}}&lt;br /&gt;
| developer              = [[國際標準化組織]]/[[国际电工委员会]]&lt;br /&gt;
| typing                 = [[類型系統]], [[強型別]]&lt;br /&gt;
| implementations        = {{tsl|en|List of relational database management systems||詳見資料庫系統列表}}&lt;br /&gt;
| dialects               = SQL-86, SQL-89, [[SQL-92]], {{tsl|en|SQL:1999|}}, {{tsl|en|SQL:2003|}}, {{tsl|en|SQL:2006|}}, {{tsl|en|SQL:2008|}}, {{tsl|en|SQL:2011|}}&lt;br /&gt;
| influenced_by          = [[Datalog]]&lt;br /&gt;
| influenced             = {{tsl|en|Common Query Language||CQL}}, [[语言集成查询]], {{tsl|en|Salesforce Object Query Language||SOQL}}, [[Windows PowerShell]],&amp;lt;ref name=ars&amp;gt;{{cite web |last=Paul |first=Ryan |title=A guided tour of the Microsoft Command Shell |url=http://arstechnica.com/business/news/2005/10/msh.ars/4 |publisher=Ars Technica |accessdate=10 April 2011 |archive-date=2018-12-25 |archive-url=https://web.archive.org/web/20181225011117/https://arstechnica.com/information-technology/2005/10/msh/4/ |dead-url=no }}&amp;lt;/ref&amp;gt; {{tsl|en|Java Persistence Query Language||JPQL}}, [[面向Java对象查询]]&lt;br /&gt;
| operating_system       = [[跨平台]]&lt;br /&gt;
| website                = &lt;br /&gt;
| fileformat             = &lt;br /&gt;
| wikibooks              = Structured Query Language&lt;br /&gt;
}}&lt;br /&gt;
{{Infobox file format&lt;br /&gt;
| name          = SQL（文件格式）&lt;br /&gt;
| icon          = &lt;br /&gt;
| extension     = .sql&lt;br /&gt;
| mime          = application/sql&amp;lt;ref&amp;gt;{{cite web|url=http://www.iana.org/assignments/media-types/application/sql|title=Media Type registration for application/sql|publisher=[[互联网号码分配局|Internet Assigned Numbers Authority]]|date=10 April 2013|accessdate=10 April 2013|archive-date=2018-01-24|archive-url=https://web.archive.org/web/20180124072057/http://www.iana.org/assignments/media-types/application/sql|dead-url=no}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web|url=http://tools.ietf.org/html/rfc6922|title=The application/sql Media Type, RFC 6922|page=3|publisher=[[互联网工程任务组|Internet Engineering Task Force]]|date=April 2013|accessdate=10 April 2013|archive-date=2016-10-18|archive-url=https://web.archive.org/web/20161018203430/https://tools.ietf.org/html/rfc6922|dead-url=no}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
| uniform type  = &lt;br /&gt;
| owner         = [[國際標準化組織|ISO]]/[[国际电工委员会|IEC]]&lt;br /&gt;
| released      = {{Start date|1986|df=yes}}&lt;br /&gt;
| latest release version = {{tsl|en|SQL:2016|}}&lt;br /&gt;
| latest release date = {{Start date and age|2016|df=yes}}&lt;br /&gt;
| genre         = Database&lt;br /&gt;
| standard      = ISO/IEC 9075&lt;br /&gt;
| free          = Yes&lt;br /&gt;
| url           = {{URL|https://www.iso.org/standard/63555.html}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;SQL&amp;#039;&amp;#039;&amp;#039;（{{IPAc-en|audio=En-us-SQL.ogg|ˈ|ɛ|s|_|k|juː|_|ˈ|ɛ|l}}&amp;lt;ref name=learningSQL&amp;gt;{{ cite book |last= Beaulieu | first = Alan |title=Learning SQL |url= https://archive.org/details/learningsql0000beau_p5d6 |editor=Mary E Treseler |publisher=O&amp;#039;Reilly |location=Sebastapol, CA, USA |date=April 2009 |edition= 2nd | isbn = 978-0-596-52083-0}}&amp;lt;/ref&amp;gt;或{{IPAc-en|audio=En-us-sequel.ogg|ˈ|s|iː|k|w|ə|l}}&amp;lt;ref&amp;gt;{{ cite web | title=SQL, n. | website=Oxford English Dictionary | publisher=Oxford University Press | accessdate=2014-11-27 | url=http://www.oed.com/view/Entry/260112?redirectedFrom=SQL#eid }}&amp;lt;/ref&amp;gt;，&amp;#039;&amp;#039;&amp;#039;Structured Query Language&amp;#039;&amp;#039;&amp;#039;，&amp;#039;&amp;#039;&amp;#039;结构化查询语言&amp;#039;&amp;#039;&amp;#039;&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
| author=Encyclopedia Britannica&lt;br /&gt;
| title=SQL&lt;br /&gt;
| url=http://www.britannica.com/EBchecked/topic/569684/SQL&lt;br /&gt;
| accessdate=2013-04-02&lt;br /&gt;
| archive-date=2018-12-25&lt;br /&gt;
| archive-url=https://web.archive.org/web/20181225011108/https://www.britannica.com/technology/SQL&lt;br /&gt;
| dead-url=no&lt;br /&gt;
}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;From Oxford Dictionaries: &amp;quot;Definition of SQL - abbreviation, Structured Query Language, an international standard for database manipulation.&amp;quot;&lt;br /&gt;
{{cite web&lt;br /&gt;
| author=Oxford Dictionaries&lt;br /&gt;
| title=SQL&lt;br /&gt;
| url=http://oxforddictionaries.com/definition/american_english/SQL&lt;br /&gt;
| accessdate=2017-10-10&lt;br /&gt;
| archive-date=2016-08-03&lt;br /&gt;
| archive-url=https://web.archive.org/web/20160803161611/http://www.oxforddictionaries.com/definition/american_english/sql&lt;br /&gt;
| dead-url=no&lt;br /&gt;
}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
| author=IBM&lt;br /&gt;
| title=SQL Guide&lt;br /&gt;
| url=http://publib.boulder.ibm.com/infocenter/soliddb/v6r3/topic/com.ibm.swg.im.soliddb.sql.doc/doc/tables.rows.and.columns.html&lt;br /&gt;
}}{{Dead link|date=2020年2月 |bot=InternetArchiveBot |fix-attempted=yes }}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;From Microsoft: &amp;quot;Structured Query Language, invented at IBM in the 1970s. It is more commonly known by its acronym, SQL ..&amp;quot;&lt;br /&gt;
{{cite web&lt;br /&gt;
| author=Microsoft&lt;br /&gt;
| title=Structured Query Language (SQL)&lt;br /&gt;
| url=http://msdn.microsoft.com/en-gb/library/windows/desktop/ms714670(v=vs.85).aspx&lt;br /&gt;
| accessdate=2017-10-10&lt;br /&gt;
| archive-date=2016-03-12&lt;br /&gt;
| archive-url=https://web.archive.org/web/20160312194206/https://msdn.microsoft.com/en-gb/library/windows/desktop/ms714670(v=vs.85).aspx&lt;br /&gt;
| dead-url=no&lt;br /&gt;
}}&amp;lt;/ref&amp;gt;）是一种[[特定目的程式语言]]，用于管理[[关系数据库管理系统]]（RDBMS），或在[[关系流数据管理系统]]（RDSMS）中进行流处理。&lt;br /&gt;
&lt;br /&gt;
20 世纪 70 年代推出的 SQL 相比早期的读写 [[应用程序接口|API]]（如 [[ISAM]] 或 [[VSAM]]）具有两大优势：首先，引入了用一条[[命令行界面|命令]]访问多条记录的概念；其次，也消除了指定如何访问记录的需求（即无论是否使用[[数据库索引|索引]]）。&lt;br /&gt;
&lt;br /&gt;
SQL最初基于[[关系代数 (数据库)|关系代数]]和[[元组关系演算]]，包含多种类型的语句&amp;lt;ref&amp;gt;[[SQL-92]], 4.22 SQL-statements, 4.22.1 Classes of SQL-statements &amp;quot;There are at least five ways of classifying SQL-statements:&amp;quot;, 4.22.2, SQL statements classified by function &amp;quot;The following are the main classes of SQL-statements:&amp;quot;; [[SQL:2003]] 4.11 SQL-statements, and later revisions.&amp;lt;/ref&amp;gt;，这些语句可被非正式地归类为以下子语言：数据查询语言（DQL）；数据定义语言（DDL）；数据控制语言（DCL）；数据操作语言（DML）&amp;lt;ref&amp;gt;{{cite book |url=https://books.google.com/books?id=64MBBAAAQBAJ&amp;amp;pg=PA8 |title=Structured Query Language By Example - Volume I: Data Query Language |last=Chatham |first=Mark |publisher=Lulu.com |year=2012 |isbn=9781291199512 |page=8}}&amp;lt;/ref&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
SQL 的应用范围涵盖了数据查询、数据操作（插入、更新和删除）、数据定义（[[Schema (数据库)|模式]]创建与修改）以及数据访问控制。尽管 SQL 本质上是一种[[宣告式編程|声明式语言]]（[[第四代程式語言|第四代语言]]），但是也包含了[[过程式编程|过程式]]元素。&lt;br /&gt;
&lt;br /&gt;
SQL 是最早采用[[埃德加·科德|埃德加・F・科德]]提出的[[关系模型]]的商用语言之一。该模型在他 1970 年发表的具有重大影响力的论文《大型共享数据库的关系数据模型》中被详细阐述&amp;lt;ref name=&amp;quot;codd-relational-model&amp;quot;&amp;gt;{{cite journal |last=Codd |first=Edgar F |title=A Relational Model of Data for Large Shared Data Banks |url=http://www.acm.org/classics/nov95/toc.html |journal=Communications of the ACM |publisher=Association for Computing Machinery |date=June 1970 |volume=13 |issue=6 |pages=377–87 |doi=10.1145/362384.362685 |archiveurl=https://web.archive.org/web/20070612235326/http://www.acm.org/classics/nov95/toc.html |archivedate=2007-06-12 |accessdate=2007-06-09 |deadurl=yes}}&amp;lt;/ref&amp;gt;。尽管 SQL 并未完全遵循[[科德十二定律|科德所描述的关系模型]]，但还仍然成为了使用最为广泛的数据库语言&amp;lt;ref name=&amp;quot;SQL-Fundamentals&amp;quot;&amp;gt;{{cite web |title=SQL Fundamentals |url=http://databases.about.com/od/sql/a/sqlfundamentals.htm |work=Databases |last=Chapple |first=Mike |archive-url=https://web.archive.org/web/20090222225300/http://databases.about.com/od/sql/a/sqlfundamentals.htm |archive-date=2009-02-22 |accessdate=2009-01-28 |publisher=About.com |dead-url=no}}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;IBM-sql&amp;quot;&amp;gt;{{cite web |title=Structured Query Language (SQL) |url=http://publib.boulder.ibm.com/infocenter/db2luw/v9/index.jsp?topic=com.ibm.db2.udb.admin.doc/doc/c0004100.htm |date=October 27, 2006 |accessdate=2007-06-10 |publisher=International Business Machines}}&amp;lt;/ref&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
SQL在1986年成为[[美国国家标准学会]]（ANSI）的一项[[标准]]，在1987年成为[[国际标准化组织]]（ISO）标准&amp;lt;ref name=&amp;quot;ISO/IEC&amp;quot;&amp;gt;{{cite web | url = http://www.iso.org/iso/catalogue_detail.htm?csnumber=45498 | title = ISO/IEC 9075-1:2008: Information technology – Database languages – SQL – Part 1: Framework (SQL/Framework) | accessdate = 2017-10-10 | archive-date = 2012-02-03 | archive-url = https://www.webcitation.org/65AHDqhgg?url=http://www.iso.org/iso/catalogue_detail.htm?csnumber=45498 | dead-url = no }}&amp;lt;/ref&amp;gt;。此后，这一标准经过了一系列的增订，加入了大量新特性。虽然有这一标准的存在，但大部分的SQL代码在不同的数据库系统中并不具有完全的[[跨平台]]性。&lt;br /&gt;
&lt;br /&gt;
== 歷史 ==&lt;br /&gt;
在1970年代初，由[[IBM研究院]]下属{{tsl|fr|IBM Almaden Research Center|愛曼登研究中心}}的[[埃德加·科德]]發表將資料組成表格的應用原則（{{lang|en|Codd&amp;#039;s Relational Algebra}}）。1974年，同一實驗室的{{tsl|en|Donald D. Chamberlin|唐纳德·钱柏林}}和{{tsl|en|Raymond F. Boyce|雷蒙德·博伊斯}}参考了科德的模型后，在研制关系数据库管理系统{{tsl|en|IBM System R||System R}}中，开发出了一套規範語言&amp;#039;&amp;#039;&amp;#039;{{lang|en|SEQUEL}}&amp;#039;&amp;#039;&amp;#039;（{{lang|en|Structured English Query Language}}，结构化英语查询语言），並在1976年11月的《{{tsl|en|IBM Journal of Research and Development|IBM研究与开发杂志}}》上公布新版本的{{lang|en|SQL}}（叫{{lang|en|SEQUEL}}/2）。1980年改名為{{lang|en|SQL}}。&lt;br /&gt;
&lt;br /&gt;
1979年，[[甲骨文公司]]（当时名为关系式软件公司）首先提供商用的{{lang|en|SQL}}，IBM公司在[[IBM DB2|DB2]]和{{lang|en|SQL/DS}}数据库系统中也实现了{{lang|en|SQL}}。&lt;br /&gt;
&lt;br /&gt;
1986年10月，美国{{lang|en|ANSI}}采用{{lang|en|SQL}}作为关系数据库管理系统的标准语言（{{lang|en|ANSI X3. 135-1986}}），后为国际标准化组织（{{lang|en|ISO}}）采纳为国际标准。&lt;br /&gt;
&lt;br /&gt;
1989年，美国{{lang|en|ANSI}}采纳在{{lang|en|ANSI X3.135-1989}}报告中定义的关系数据库管理系统的{{lang|en|SQL}}标准语言，称为{{lang|en|ANSI SQL 89}}，该标准替代{{lang|en|ANSI X3.135-1986}}版本。该标准为下列组织所采纳：&lt;br /&gt;
*国际标准化组织，为{{lang|en|ISO 9075-1989}}报告《{{lang|en|Database Language SQL With Integrity Enhancement}}》&lt;br /&gt;
*美国联邦政府，发布在《{{lang|en|The Federal Information Processing Standard Publication(FIPS PUB)127}}》&lt;br /&gt;
目前，所有主要的关系数据库管理系统支持某些形式的{{lang|en|SQL}}，大部分数据库至少遵守{{lang|en|ANSI SQL89}}标准。&lt;br /&gt;
&lt;br /&gt;
{{lang|en|ANSI SQL92}}标准在交叉连接（{{lang|en|cross join}}）和内部连接之上，新增加了外部连接，并支持在{{lang|en|FROM}}子句中写连接表达式。支持集合的并运算、交运算。支持[[Case (SQL)]]表达式。支持{{lang|en|CHECK}}约束。创建临时表。支持{{lang|en|cursor}}。支持[[事务隔离]]。&lt;br /&gt;
&lt;br /&gt;
== 语法 ==&lt;br /&gt;
{{main|SQL语法}}&lt;br /&gt;
[[File:SQL ANATOMY wiki.svg|thumb|400px|图表显示了SQL语言元素组成的一个语句]]&lt;br /&gt;
&lt;br /&gt;
SQL语言分成了几种要素，包括：&lt;br /&gt;
&lt;br /&gt;
* 子句，是语句和查询的组成成分。（在某些情况下，这些都是可选的。）&amp;lt;ref&amp;gt;ANSI/ISO/IEC International Standard (IS). Database Language SQL—Part 2: Foundation (SQL/Foundation). 1999.&amp;lt;/ref&amp;gt;&lt;br /&gt;
* 表达式，可以产生任何[[变量 (程序设计)|标量]]值，或由[[列 (数据库)|列]]和[[行 (数据库)|行]]组成的[[数据库表]]&lt;br /&gt;
* 谓词，给需要评估的SQL[[三值逻辑|三值逻辑（3VL）]]（true/false/unknown）或[[逻辑代数|布尔]][[真值]]指定条件，并限制语句和查询的效果，或改变程序流程。&lt;br /&gt;
* 查询，基于特定条件检索数据。这是&amp;#039;&amp;#039;SQL&amp;#039;&amp;#039;的一个重要组成部分。&lt;br /&gt;
* 语句，可以持久地影响纲要和数据，也可以控制[[数据库事务]]、程序流程、连接、会话或诊断。&lt;br /&gt;
** SQL语句也包括[[分號]]（&amp;quot;;&amp;quot;）语句终结符。尽管并不是每个平台都必需，但是由作为SQL语法的标准部分定义的。&lt;br /&gt;
* [[空白|无意义的空白]]在SQL语句和查询中一般会被忽略，更容易格式化SQL代码便于阅读。&lt;br /&gt;
&lt;br /&gt;
==语言特点==&lt;br /&gt;
SQL是高级的[[非過程化編程]]語言，允许用户在高层数据结构上工作。不要求用户指定对数据的存放方法，也不需要用户了解其具体的数据存放方式。而且界面，能使具有底层结构完全不同的数据库系统和不同数据库之间，使用相同的SQL作为数据的输入与管理。由以记录项目〔records〕的合集（set）〔项集，record set〕作为操纵对象，所有SQL语句接受项集作为输入，回送出的项集作为输出，这种项集特性允许一条SQL语句的输出作为另一条SQL语句的输入，所以SQL语句可以嵌套，这使得拥有极大的灵活性和强大的功能。在多数情况下，在其他編程語言中需要用一大段程序才可实践的一个单独事件，而其在SQL上只需要一个语句就可以被表达出来。这也意味着用SQL可以写出非常复杂的语句，在不特別考慮效能下。&lt;br /&gt;
&lt;br /&gt;
SQL同時也是数据库[[文件格式]]的[[扩展名]]。&lt;br /&gt;
&lt;br /&gt;
SQL包含四个部分：&lt;br /&gt;
* [[資料定義語言]]&lt;br /&gt;
* [[資料操縱語言]]&lt;br /&gt;
* [[資料控制語言]]&lt;br /&gt;
* [[事务控制語言]]&lt;br /&gt;
&lt;br /&gt;
===SQL函数===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! 函数 !! 描述 &lt;br /&gt;
|-&lt;br /&gt;
| AVG || 平均值 &lt;br /&gt;
|-&lt;br /&gt;
| COUNT || 计数（不含Null） &lt;br /&gt;
|-&lt;br /&gt;
| FIRST || 第一个记录的值 &lt;br /&gt;
|-&lt;br /&gt;
| MAX || 最大值 &lt;br /&gt;
|-&lt;br /&gt;
| MIN ||最小值&lt;br /&gt;
|-&lt;br /&gt;
| STDEV ||样本标准差&lt;br /&gt;
|-&lt;br /&gt;
| STDEVP ||总体标准差&lt;br /&gt;
|-&lt;br /&gt;
| SUM ||求和&lt;br /&gt;
|-&lt;br /&gt;
| VAR ||样本方差&lt;br /&gt;
|-&lt;br /&gt;
| VARP ||总体方差&lt;br /&gt;
|-&lt;br /&gt;
| UCASE ||转化为全大写字母&lt;br /&gt;
|-&lt;br /&gt;
| LCASE ||转化为全小写字母&lt;br /&gt;
|-&lt;br /&gt;
| MID ||取中值&lt;br /&gt;
|-&lt;br /&gt;
| LEN ||计算字符串长度&lt;br /&gt;
|-&lt;br /&gt;
| INSTR ||获得子字符串在母字符串的起始位置&lt;br /&gt;
|-&lt;br /&gt;
| LEFT ||取字符串左邊子串&lt;br /&gt;
|-&lt;br /&gt;
| RIGHT ||取字符串右边子串&lt;br /&gt;
|-&lt;br /&gt;
| ROUND ||数值四舍五入取整&lt;br /&gt;
|-&lt;br /&gt;
| MOD ||-{zh-hans:取余; zh-hant:取餘; zh-cn:取余; zh-tw:取餘; zh-hk:取餘; zh-sg:取余}-&lt;br /&gt;
|-&lt;br /&gt;
| NOW ||获得当前时间的值&lt;br /&gt;
|-&lt;br /&gt;
| FORMAT ||字符串格式化&lt;br /&gt;
|-&lt;br /&gt;
| DATEDIFF ||获得两个时间的差值&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 互操作性和標準化 == &lt;br /&gt;
供應商之間的SQL實現不兼容，不一定完全遵循標準。各种数据库的SQL方言通常不可移植，特别是在日期时间语法、字符串连接、&amp;lt;code&amp;gt;NULL&amp;lt;/code&amp;gt;、比较的大小写敏感方面。只有[[PostgreSQL]]与[[Mimer SQL]]努力遵从标准。&lt;br /&gt;
&lt;br /&gt;
=== 標準化歷史 ===&lt;br /&gt;
SQL在1986年被ANSI标准化，1987年被ISO标准化。由{{tsl|en|ISO/IEC JTC 1/SC 32|ISO/IEC JTC 1/SC 32|&amp;#039;&amp;#039;ISO/IEC JTC 1, Information technology, Subcommittee SC 32, Data management and interchange&amp;#039;&amp;#039;}}维护。标准名称通常为如下模式：&amp;#039;&amp;#039;ISO/IEC 9075-n:yyyy Part n: title&amp;#039;&amp;#039;。&lt;br /&gt;
{| class=wikitable&lt;br /&gt;
|-&lt;br /&gt;
! 年份&lt;br /&gt;
! 名字&lt;br /&gt;
! 别名&lt;br /&gt;
! 注释&lt;br /&gt;
|-&lt;br /&gt;
| 1986&lt;br /&gt;
| SQL-86&lt;br /&gt;
| SQL-87&lt;br /&gt;
| ANSI首次标准化&lt;br /&gt;
|-&lt;br /&gt;
| 1989&lt;br /&gt;
| SQL-89&lt;br /&gt;
| [[聯邦資料處理標準|FIPS]] 127-1&lt;br /&gt;
| 小修改，增加了integrity constraint &lt;br /&gt;
|-&lt;br /&gt;
| 1992&lt;br /&gt;
| [[SQL-92]]&lt;br /&gt;
| SQL2, FIPS 127-2&lt;br /&gt;
| 大修改，成为现代SQL的基础&lt;br /&gt;
|-&lt;br /&gt;
| 1999&lt;br /&gt;
| {{tsl|en|SQL:1999}}&lt;br /&gt;
| SQL3&lt;br /&gt;
| 增加了正则表达式匹配、递归查询（传递闭包）、数据库触发器、过程式与控制流语句、非标量类型(arrays)、面向对象特性。在Java中嵌入SQL([[SQL/OLB]])及其逆([[SQL/JRT]])&lt;br /&gt;
|-&lt;br /&gt;
| 2003&lt;br /&gt;
| {{tsl|en|SQL:2003}}&lt;br /&gt;
| &lt;br /&gt;
| 增加[[XML]]相关特性([[SQL/XML]])、&amp;#039;&amp;#039;window functions&amp;#039;&amp;#039;、标准化sequences、自动产生值的列。对SQL:1999的新特性重新描述其内涵。&lt;br /&gt;
|-&lt;br /&gt;
| 2006&lt;br /&gt;
| {{tsl|en|SQL:2006}}&lt;br /&gt;
| &lt;br /&gt;
| 导入/导出XML数据与SQL数据库。[[XQuery]]&lt;br /&gt;
|-&lt;br /&gt;
| 2008&lt;br /&gt;
| {{tsl|en|SQL:2008}}&lt;br /&gt;
| &lt;br /&gt;
| 在cursor之外的ORDER BY语句。INSTEAD OF触发器。TRUNCATE语句。FETCH子句&lt;br /&gt;
|-&lt;br /&gt;
| 2011&lt;br /&gt;
| {{tsl|en|SQL:2011}}&lt;br /&gt;
|&lt;br /&gt;
| 增加时态数据(PERIOD FOR)。增强了&amp;#039;&amp;#039;window functions&amp;#039;&amp;#039;与FETCH子句&lt;br /&gt;
|-&lt;br /&gt;
| 2016&lt;br /&gt;
|{{tsl|en|SQL:2016}}&lt;br /&gt;
|&lt;br /&gt;
| 增加行模式匹配、多态表函数、[[JSON]]。&lt;br /&gt;
|-&lt;br /&gt;
| 2019&lt;br /&gt;
|SQL:2019&lt;br /&gt;
|&lt;br /&gt;
| 增加了第15部分，多维数组（MDarray类型和运算符）。&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 当前标准 ===&lt;br /&gt;
该标准通常用以下模式表示：&amp;#039;&amp;#039;&amp;#039;ISO/IEC 9075-n：yyyy 第n部分：标题&amp;#039;&amp;#039;&amp;#039;，或者简称为&amp;#039;&amp;#039;&amp;#039;ISO/IEC 9075&amp;#039;&amp;#039;&amp;#039;。&lt;br /&gt;
&lt;br /&gt;
ISO / IEC 9075补充了ISO / IEC 13249：SQL多媒体和应用程序包（SQL/MM），该程序包定义了基于SQL的接口和包，给诸如视频，音频和空间数据之类的广泛的应用程序。感兴趣的各方可以从ISO、IEC或ANSI购买SQL标准文档。SQL：2008的草稿可作为[[ZIP格式|zip]]存档免费获得。&lt;br /&gt;
&lt;br /&gt;
==== SQL标准剖析 ====&lt;br /&gt;
SQL标准包含10部分：&lt;br /&gt;
&lt;br /&gt;
* ISO/IEC 9075-1:2016 Part 1: &amp;#039;&amp;#039;Framework&amp;#039;&amp;#039; (SQL/Framework). 提供逻辑概念&lt;br /&gt;
* ISO/IEC 9075-2:2016 Part 2: &amp;#039;&amp;#039;Foundation&amp;#039;&amp;#039; (SQL/Foundation). 包含语言的主要内容，强制与可选特性。 &lt;br /&gt;
* ISO/IEC 9075-3:2016 Part 3: &amp;#039;&amp;#039;Call-Level Interface&amp;#039;&amp;#039; ([[SQL/CLI]]). 定义了接口成分(structures, procedures, variable bindings) 用于编写能执行SQL的应用程序的语言：Ada，C/C++，COBOL，Fortran，MUMPS，Pascal，PL/I。对于Java语言见标准第10部分。[[ODBC]]是一个著名的SQL/CLI的超集。这部分标准主要包含强制的特性。&lt;br /&gt;
* ISO/IEC 9075-4:2016 Part 4: &amp;#039;&amp;#039;Persistent stored modules&amp;#039;&amp;#039; ([[SQL/PSM]])。SQL的过程式扩展，包括控制流、条件处理、语句条件signals与resignals、cursors、本地变量、表达式赋值到变量与参数。此外，SQL/PSM形式化声明与维护了持续性（persistent）数据库语言例程（例如存储过程）。这部分标准主要包含可选的特性。&lt;br /&gt;
* [http://standards.iso.org/ittf/PubliclyAvailableStandards/c067367_ISO_IEC_TR_19075-6_2017.zip Part-6]{{Wayback|url=http://standards.iso.org/ittf/PubliclyAvailableStandards/c067367_ISO_IEC_TR_19075-6_2017.zip |date=20181020150759 }}: &amp;#039;&amp;#039;Support for JavaScript Object Notation (JSON)&amp;#039;&amp;#039;. 2017年首次集成JSON数据类型到SQL标准。&lt;br /&gt;
* ISO/IEC 9075-9:2016 Part 9: &amp;#039;&amp;#039;Management of External Data&amp;#039;&amp;#039; ([[SQL/MED]]). 这部分标准主要包含可选的特性。&lt;br /&gt;
* ISO/IEC 9075-10:2016 Part 10: &amp;#039;&amp;#039;Object language bindings&amp;#039;&amp;#039; ([[SQL/OLB]])。定义了[[SQLJ]]，SQL嵌入到Java，保证了SQLJ应用程序二进制可移植。这部分标准主要包含可选的特性。&lt;br /&gt;
* ISO/IEC 9075-11:2016 Part 11: &amp;#039;&amp;#039;Information and definition schemas&amp;#039;&amp;#039; ([[SQL/Schemata]]). 定义了Information Schema与Definition Schema，提供了常用工具集使得SQL数据库与对象自描述。这些工具包括SQL object identifier、structure与integrity constraints、security与authorization specifications, features与packages。这部分标准主要包含强制与可选的特性。&lt;br /&gt;
* ISO/IEC 9075-13:2016 Part 13: &amp;#039;&amp;#039;SQL Routines and types using the Java TM programming language&amp;#039;&amp;#039; ([[SQL/JRT]]). SQL应用程序调用静态方法作为子程序的能力(&amp;#039;Java-in-the-database&amp;#039;)；Java类作为SQL结构化用户定义类型。这部分标准主要包含可选的特性。&lt;br /&gt;
* ISO/IEC 9075-14:2016 Part 14: &amp;#039;&amp;#039;XML-Related Specifications&amp;#039;&amp;#039; ([[SQL/XML]]). 这部分标准主要包含可选的特性。&lt;br /&gt;
* ISO/IEC 9075-15:2019 Part 15: 多维数组(SQL/MDA)， 是为SQL指定了多维数组类型（MDarray），以及对MDarray，MDarray切片，MDarray单元和相关功能的操作。 标准的这一部分仅包含可选功能。&lt;br /&gt;
&lt;br /&gt;
==== ISO / IEC标准的扩展 ====&lt;br /&gt;
&amp;#039;&amp;#039;ISO/IEC 9075&amp;#039;&amp;#039;被&amp;#039;&amp;#039;ISO/IEC 13249: SQL Multimedia and Application Packages&amp;#039;&amp;#039; (SQL/MM)补充。后者定义了基于SQL的音视频、空间数据的界面与包。包括：&lt;br /&gt;
* ISO/IEC 13249-1:2016 Part 1: &amp;#039;&amp;#039;Framework&amp;#039;&amp;#039;&lt;br /&gt;
* ISO/IEC 13249-2:2003 Part 2: &amp;#039;&amp;#039;Full-Text&amp;#039;&amp;#039;&lt;br /&gt;
* ISO/IEC 13249-3:2016 Part 3: &amp;#039;&amp;#039;Spatial&amp;#039;&amp;#039;&lt;br /&gt;
* ISO/IEC 13249-5:2003 Part 5: &amp;#039;&amp;#039;Still image&amp;#039;&amp;#039;&lt;br /&gt;
* ISO/IEC 13249-6:2006 Part 6: &amp;#039;&amp;#039;Data mining&amp;#039;&amp;#039;&lt;br /&gt;
* ISO/IEC 13249-7:2013 Part 7: &amp;#039;&amp;#039;History&amp;#039;&amp;#039;&lt;br /&gt;
* ISO/IEC 13249-8:xxxx Part 8: &amp;#039;&amp;#039;Metadata Registry Access&amp;#039;&amp;#039;  &amp;#039;&amp;#039;[https://web.archive.org/web/20180612143206/https://www.iso.org/standard/73181.html MRA]&amp;#039;&amp;#039; (work in progress)&lt;br /&gt;
&lt;br /&gt;
== 以SQL為基礎的其他延伸語言 ==&lt;br /&gt;
* [[Transact-SQL]]&lt;br /&gt;
:微軟[[MS SQL-Server]]，以及{{tsl|en|Sybase Adaptive Server|}}系列資料庫所用的SQL&lt;br /&gt;
* [[PL-SQL]]&lt;br /&gt;
: [[Oracle]] [[Oracle資料庫|資料庫]]所使用的SQL&lt;br /&gt;
&lt;br /&gt;
== 安全問題 ==&lt;br /&gt;
{{main|SQL注入攻击|參數化查詢}}&lt;br /&gt;
&lt;br /&gt;
由於SQL指令在部份進階使用時，語法會依照特定條件來變換，而且若是表格中的欄位過多時，許多開發人員都會習慣以字串組立的方式建立SQL指令，而且又使用系統管理員級的帳戶連到資料庫，因此讓駭客有機會利用SQL的組立方式進行攻擊，像是在指令中添加部份刺探性或破壞性的指令（例如&amp;lt;code&amp;gt;DROP TABLE&amp;lt;/code&amp;gt;、&amp;lt;code&amp;gt;DROP DATABASE&amp;lt;/code&amp;gt;或是&amp;lt;code&amp;gt;DELETE * FROM myTable&amp;lt;/code&amp;gt;等具破壞性的指令），讓資料庫的資料或實體伺服器被破壞，導致服務中斷或是系統癱瘓等後果，或是以邏輯的漏洞，在密碼欄寫入特殊字串(例如&amp;#039; or &amp;#039;1&amp;#039;=&amp;#039;1)，讓該字串形成的邏輯判斷永遠為真，或直接取得非查詢條件的資料，而不需要知道密碼，以達成非法登入系統的目的，此種攻擊手法稱為&amp;#039;&amp;#039;&amp;#039;SQL注入&amp;#039;&amp;#039;&amp;#039;（SQL injection）。&lt;br /&gt;
&lt;br /&gt;
目前實務上較有效的防禦方法，就是全面改用[[參數化查詢]]。&lt;br /&gt;
&lt;br /&gt;
== 参考文献 ==&lt;br /&gt;
{{Reflist|30em}}&lt;br /&gt;
&lt;br /&gt;
== 参见 ==&lt;br /&gt;
* [[关系数据库]]&lt;br /&gt;
* [[语言集成查询]]&lt;br /&gt;
&lt;br /&gt;
== 外部連結 ==&lt;br /&gt;
{{Wikibooks|:en:SQL_Dialects_Reference}}&lt;br /&gt;
* [http://troels.arvin.dk/db/rdbms/ Comparison of different SQL implementations] {{Wayback|url=http://troels.arvin.dk/db/rdbms/ |date=20050309010315 }}&lt;br /&gt;
&lt;br /&gt;
{{-}}&lt;br /&gt;
{{SQL}}&lt;br /&gt;
{{查询语言}}&lt;br /&gt;
{{程序设计语言}}&lt;br /&gt;
{{Database}}&lt;br /&gt;
{{Computer Science}}&lt;br /&gt;
{{ISO}}&lt;br /&gt;
{{规范控制}}&lt;br /&gt;
&lt;br /&gt;
[[Category:SQL]]&lt;br /&gt;
[[Category:数据库|S]]&lt;br /&gt;
[[Category:數據查詢語言]]&lt;br /&gt;
[[Category:宣告式編程語言]]&lt;br /&gt;
[[Category:ISO标准化编程语言]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Evilreality001</name></author>
	</entry>
</feed>