SQL 教程
SQL(Structured Query Language,结构化查询语言)是一种用于管理和操作关系型数据库的标准化编程语言。
在本教程中,您将学到如何使用 SQL 访问和处理数据系统中的数据,这类数据库包括:MySQL、SQL Server、Access、Oracle、Sybase、DB2 等等。
SQL 简介
SQL (Structured Query Language:结构化查询语言) 是用于管理关系数据库管理系统(RDBMS)。
SQL 通过一系列的语句和命令来执行数据定义、数据查询、数据操作和数据控制等功能,包括数据插入、查询、更新和删除,数据库模式创建和修改,以及数据访问控制。
SQL 是什么?
- SQL 指结构化查询语言,全称是 Structured Query Language。
- SQL 让您可以访问和处理数据库,包括数据插入、查询、更新和删除。
- SQL 语言采用英语关键词,使其易读易写。
- SQL 由国际标准化组织(ISO)和美国国家标准协会(ANSI)标准化。
- SQL 提供了丰富的操作数据的功能,从简单的查询到复杂的数据库管理操作。
SQL 能做什么?
- SQL 面向数据库执行查询
- SQL 可从数据库取回数据
- SQL 可在数据库中插入新的记录
- SQL 可更新数据库中的数据
- SQL 可从数据库删除记录
- SQL 可创建新数据库
- SQL 可在数据库中创建新表
- SQL 可在数据库中创建存储过程
- SQL 可在数据库中创建视图
- SQL 可以设置表、存储过程和视图的权限
SQL 是一种标准 - 但是...
虽然 SQL 是一门 ANSI(American National Standards Institute 美国国家标准化组织)标准的计算机语言,但是仍然存在着多种不同版本的 SQL 语言。
然而,为了与 ANSI 标准相兼容,它们必须以相似的方式共同地来支持一些主要的命令(比如 SELECT、UPDATE、DELETE、INSERT、WHERE 等等)。
| 注释:除了 SQL 标准之外,大部分 SQL 数据库程序都拥有它们自己的专有扩展! |
---|
在您的网站中使用 SQL
要创建一个显示数据库中数据的网站,您需要:
- RDBMS 数据库程序(比如 MS Access、SQL Server、MySQL)
- 使用服务器端脚本语言,比如 PHP 或 ASP
- 使用 SQL 来获取您想要的数据
- 使用 HTML / CSS
RDBMS
RDBMS 指关系型数据库管理系统,全称 Relational Database Management System。
RDBMS 是 SQL 的基础,同样也是所有现代数据库系统的基础,比如 MS SQL Server、IBM DB2、Oracle、MySQL 以及 Microsoft Access。
RDBMS 中的数据存储在被称为表的数据库对象中。
表是相关的数据项的集合,它由列和行组成。
SQL 发展历史
以下是 SQL 发展历史的关键节点:
1970s: 起源与早期发展
- 1970年:埃德加·科德(Edgar F. Codd)发表了《A Relational Model of Data for Large Shared Data Banks》论文,提出了关系数据库的概念,为 SQL 的发展奠定了理论基础。
- 1973年-1974年:IBM 的研究人员 Donald D. Chamberlin 和 Raymond F. Boyce 在科德的理论基础上开发了一种名为 SEQUEL(Structured English Query Language)的语言,用于操作和管理 IBM 的 System R 关系数据库。
- 1976年:SEQUEL 更名为 SQL(Structured Query Language)。
1980s: 标准化与商业化
- 1981年:IBM 推出了商用关系数据库系统 SQL/DS(Database System)和 DB2(Database 2)。
- 1986年:美国国家标准协会(ANSI)发布了第一个 SQL 标准 ANSI SQL-86(SQL-87)。
- 1987年:国际标准化组织(ISO)也采纳了 ANSI SQL-86 作为国际标准。
1990s: 扩展与改进
- 1992年:发布了 SQL-92(SQL2)标准,显著扩展了 SQL 语言的功能,包括对新数据类型、嵌套查询和连接的支持。
- 1999年:发布了 SQL:1999(SQL3)标准,引入了对象关系数据库(ORDBMS)特性、递归查询、触发器和用户定义函数。
2000s: 持续演进与新特性
- 2003年:发布了 SQL:2003 标准,引入了 XML 相关特性和窗口函数。
- 2006年:发布了 SQL:2006 标准,主要增强了对 XML 的支持。
- 2008年:发布了 SQL:2008 标准,进一步改进了语法和性能优化。
2010s: 新功能与大数据支持
- 2011年:发布了 SQL:2011 标准,增加了对时间数据类型和时间旅行(temporal data)的支持。
- 2016年:发布了 SQL:2016 标准,引入了 JSON 数据类型和相关操作函数,适应了 NoSQL 数据库和大数据处理需求。
2020s: 现代化与标准更新
- 2023年:最新的 SQL 标准持续改进,增加了对更现代化的数据库需求和特性的支持。
总结
SQL 从一种基于关系模型的查询语言发展成为现代数据库管理的核心语言,其标准在不断演进和扩展。各大数据库管理系统(如 MySQL、PostgreSQL、SQLite、SQL Server、Oracle 等)在遵循 SQL 标准的基础上,加入了自身的扩展和优化,使 SQL 成为数据操作和管理的强大工具。SQL 的发展不仅体现了技术的进步,也反映了数据管理需求的变化和增长。