- SQL 教程
- SQL - 首页
- SQL - 概述
- SQL - RDBMS 概念
- SQL - 数据库
- SQL - 语法
- SQL - 数据类型
- SQL - 运算符
- SQL - 表达式
- SQL 数据库
- SQL - 创建数据库
- SQL - 删除数据库
- SQL - 选择数据库
- SQL - 重命名数据库
- SQL - 显示数据库
- SQL - 备份数据库
- SQL 表
- SQL - 创建表
- SQL - 显示表
- SQL - 重命名表
- SQL - 清空表
- SQL - 克隆表
- SQL - 临时表
- SQL - 修改表
- SQL - 删除表
- SQL - 删除表
- SQL - 约束
- SQL 查询
- SQL - 插入查询
- SQL - 选择查询
- SQL - Select Into
- SQL - Insert Into Select
- SQL - 更新查询
- SQL - 删除查询
- SQL - 排序结果
- SQL 视图
- SQL - 创建视图
- SQL - 更新视图
- SQL - 删除视图
- SQL - 重命名视图
- SQL 运算符和子句
- SQL - Where 子句
- SQL - Top 子句
- SQL - Distinct 子句
- SQL - Order By 子句
- SQL - Group By 子句
- SQL - Having 子句
- SQL - AND & OR
- SQL - BOOLEAN (BIT) 运算符
- SQL - LIKE 运算符
- SQL - IN 运算符
- SQL - ANY, ALL 运算符
- SQL - EXISTS 运算符
- SQL - CASE
- SQL - NOT 运算符
- SQL - 不等于
- SQL - IS NULL
- SQL - IS NOT NULL
- SQL - NOT NULL
- SQL - BETWEEN 运算符
- SQL - UNION 运算符
- SQL - UNION vs UNION ALL
- SQL - INTERSECT 运算符
- SQL - EXCEPT 运算符
- SQL - 别名
- SQL 连接
- SQL - 使用连接
- SQL - 内连接
- SQL - 左连接
- SQL - 右连接
- SQL - 交叉连接
- SQL - 全连接
- SQL - 自连接
- SQL - 删除连接
- SQL - 更新连接
- SQL - 左连接 vs 右连接
- SQL - Union vs Join
- SQL 键
- SQL - 唯一键
- SQL - 主键
- SQL - 外键
- SQL - 复合键
- SQL - 备用键
- SQL 索引
- SQL - 索引
- SQL - 创建索引
- SQL - 删除索引
- SQL - 显示索引
- SQL - 唯一索引
- SQL - 集群索引
- SQL - 非集群索引
- 高级 SQL
- SQL - 通配符
- SQL - 注释
- SQL - 注入
- SQL - 托管
- SQL - Min & Max
- SQL - Null 函数
- SQL - 检查约束
- SQL - 默认约束
- SQL - 存储过程
- SQL - NULL 值
- SQL - 事务
- SQL - 子查询
- SQL - 处理重复项
- SQL - 使用序列
- SQL - 自动递增
- SQL - 日期和时间
- SQL - 游标
- SQL - 公共表表达式
- SQL - Group By vs Order By
- SQL - IN vs EXISTS
- SQL - 数据库调优
- SQL 函数参考
- SQL - 日期函数
- SQL - 字符串函数
- SQL - 聚合函数
- SQL - 数值函数
- SQL - 文本和图像函数
- SQL - 统计函数
- SQL - 逻辑函数
- SQL - 游标函数
- SQL - JSON 函数
- SQL - 转换函数
- SQL - 数据类型函数
- SQL 有用资源
- SQL - 问答
- SQL - 快速指南
- SQL - 有用函数
- SQL - 有用资源
- SQL - 讨论
SQL 数据库
SQL 数据库
SQL 或关系数据库用于存储和管理彼此相关的数据对象,即基于关系模型处理关系数据库中的数据。
此关系模型是一种以结构化方式(使用表)管理数据的方法。用于管理这些关系数据库的系统称为关系数据库管理系统 (RDBMS)。
SQL 数据库表结构
SQL 数据库服务器以表格形式存储数据。表是用于以行和列格式收集数据的数据库对象。行表示实体,而列定义表中每个实体的属性。
列:列是表中的垂直元素。表中的每一列都保存特定的属性信息,以及列属性,例如列名和数据类型(整数、字符、字符串等)。
行:行是表中的水平元素,用户可以通过执行 SQL 查询添加数据或检索数据。
SQL 数据库类型
有许多流行的 RDBMS 可供使用。以下是其中一些最流行的 RDBMS:
- MySQL
- MS SQL Server
- ORACLE
- MS ACCESS
- PostgreSQL
- SQLite
本 SQL 数据库教程简要概述了上述指定的这些 RDBMS。这将帮助您比较它们的基本功能。
MySQL
MySQL 是一个开源 SQL 数据库,由瑞典公司 MySQL AB 开发。MySQL 发音为“my ess-que-ell”,与 SQL 的发音“sequel”形成对比。
MySQL 支持许多不同的平台,包括 Microsoft Windows、主要的 Linux 发行版、UNIX 和 Mac OS X。
MySQL 有免费版和付费版,具体取决于其用途(非商业/商业)和功能。MySQL 配备了一个非常快速、多线程、多用户且健壮的 SQL 数据库服务器。
历史
1994 年 - Michael Widenius 和 David Axmark 于 1994 年开始开发 MySQL。
1995 年 - 1995 年 5 月 23 日发布第一个内部版本。
1998 年 - 1998 年 1 月 8 日为 Windows 95 和 NT 发布了 Windows 版本。
2001 年 - 2000 年 6 月发布了 3.23 版本的测试版,2001 年 1 月发布了正式版。
2003 年 - 4.0 版本于 2002 年 8 月发布测试版,2003 年 3 月发布正式版(联合)。
2004 年 - 4.1 版本于 2004 年 6 月发布测试版,2004 年 10 月发布正式版。
2005 年 - 5.0 版本于 2005 年 3 月发布测试版,2005 年 10 月发布正式版。
2008 年 - Sun Microsystems 于 2008 年 2 月 26 日收购了 MySQL AB,Oracle 版本 5.1 于 2008 年 11 月 27 日发布正式版。
2010 年 - Oracle 于 2010 年 1 月 27 日收购了 Sun Microsystems,5.5 版本于 2010 年 12 月 3 日正式发布。
2013 年 - 5.6 版本于 2013 年 2 月 5 日正式发布。
2015 年 - 5.7 版本于 2015 年 10 月 21 日正式发布。
2018 年 - 8.0 版本于 2018 年 4 月 19 日正式发布,是 MySQL 的最新版本。
特点
- 高性能。
- 高可用性。
- 可扩展性和灵活性 运行任何内容。
- 强大的事务支持。
- Web 和数据仓库优势。
- 强大的数据保护。
- 全面的应用程序开发。
- 易于管理。
- 开源自由和 24 x 7 支持。
- 最低的总拥有成本。
MS SQL Server
MS SQL Server 是由 Microsoft Inc. 开发的关系数据库管理系统。其主要查询语言为:
- T-SQL
- ANSI SQL
历史
1987 年 - Sybase 为 UNIX 发布了 SQL Server。
1988 年 - Microsoft、Sybase 和 Aston-Tate 将 SQL Server 移植到 OS/2。
1989 年 - Microsoft、Sybase 和 Aston-Tate 发布了适用于 OS/2 的 SQL Server 1.0。
1990 年 - SQL Server 1.1 发布,支持 Windows 3.0 客户端。
2000 年 - Microsoft 发布 SQL Server 2000。
2001 年 - Microsoft 发布适用于 SQL Server Web 版本 1 的 XML(下载)。
2002 年 - Microsoft 发布 SQLXML 2.0(从适用于 SQL Server 的 XML 重命名)。
2002 年 - Microsoft 发布 SQLXML 3.0。
2006 年 - Microsoft 于 2006 年 1 月 14 日发布 SQL Server 2005。
2008 年 - Microsoft 于 2008 年 11 月 6 日发布 SQL Server 2008。R2 版本于 2010 年 7 月 20 日发布。
2012 年 - Microsoft 于 2012 年 5 月 20 日发布 SQL Server 2012。
2014 年 - Microsoft 于 2014 年 6 月 5 日发布 SQL Server 2014。
2016 年 - Microsoft 于 2016 年 6 月 1 日发布 SQL Server 2016。
2017 年 - Microsoft 于 2017 年 9 月 29 日发布 SQL Server 2017。
2019 年 - Microsoft 于 2019 年 11 月 4 日发布 SQL Server 2019。
2022 年 - Microsoft 于 2022 年 11 月 16 日发布 SQL Server 2022。
特点
- 高性能
- 高可用性
- 数据库镜像
- 数据库快照
- CLR 集成
- 服务代理
- DDL 触发器
- 排名函数
- 基于行版本的隔离级别
- XML 集成
- TRY...CATCH
- 数据库邮件
ORACLE
Oracle 是一种非常大的基于多用户的数据库管理系统。Oracle 是由 Oracle Corporation 开发的关系数据库管理系统。
Oracle 致力于有效地管理其资源,在网络中请求和发送数据的多个客户端之间管理信息数据库。
它是客户端/服务器计算的绝佳数据库服务器选择。Oracle 支持客户端和服务器的所有主要操作系统,包括 MSDOS、NetWare、UnixWare、OS/2 和大多数 UNIX 版本。
历史
Oracle 成立于 1977 年,在业界庆祝其 46 个美好的年头(从 1977 年到 2023 年)。
1977 年 - Larry Ellison、Bob Miner 和 Ed Oates 成立了软件开发实验室,以进行开发工作。
1979 年 - 发布了 Oracle 2.0 版本,它成为第一个商业关系数据库和第一个 SQL 数据库。公司更名为关系软件公司 (RSI)。
1981 年 - RSI 开始为 Oracle 开发工具。
1982 年 - RSI 更名为 Oracle Corporation。
1983 年 - Oracle 发布了 3.0 版本,该版本用 C 语言重写并在多个平台上运行。
1984 年 - 发布了 Oracle 4.0 版本。它包含并发控制等功能 - 多版本读取一致性等。
1985 年 - Oracle 4.0 版本发布。它包含诸如并发控制 - 多版本读一致性等功能。
2007 年 - Oracle 发布了 Oracle 11g。新版本专注于更好的分区、轻松迁移等。
2013 年 - Oracle 数据库 12c R1 版本于 2013 年 7 月发布;R2 版本于 2016 年 8 月在云端发布,并于 2017 年 3 月在本地发布。
2018 年 - Oracle 数据库 18c 版本最初于 2018 年 7 月发布。
2019 年 - Oracle 数据库 19c 版本于 2019 年 2 月发布。
2020 年 - Oracle 数据库 21c 版本于 2020 年 12 月发布。
2023 年 - Oracle 数据库 23c 版本于 2023 年 4 月发布。
特点
- 并发性
- 读一致性
- 锁定机制
- 数据库静默
- 可移植性
- 自管理数据库
- SQL*Plus
- ASM
- 调度程序
- 资源管理器
- 数据仓库
- 物化视图
- 位图索引
- 表压缩
- 并行执行
- 分析 SQL
- 数据挖掘
- 分区
MS ACCESS
Microsoft Access 是最受欢迎的 Microsoft 产品之一。它是一款入门级数据库管理软件。它不仅价格低廉,而且对于小型项目来说是一个强大的数据库。
MS Access 使用 Jet 数据库引擎,该引擎利用特定的 SQL 语言方言(有时称为 Jet SQL)。它随 MS Office 套件的专业版一起提供。MS Access 拥有易于使用的直观图形界面。
1992 年 - Access 1.0 版本发布。
1993 年 - Access 1.1 发布,以提高与包含 Access Basic 编程语言的兼容性。
最重大的转变是从 Access 97 到 Access 2000。
2007 年 - Access 2007 引入了一种新的数据库格式 ACCDB,它支持复杂的数据类型,例如多值字段和附件字段。
2010 年 - Microsoft Access 2010 引入了 ACCDB 格式的新版本,支持在 SharePoint 2010 服务器上托管 Access Web 服务。
2013 年 - Microsoft Access 2013 提供传统的 Access 桌面应用程序以及经过大幅更新的 SharePoint 2013 Web 服务。
2021 年 - Microsoft Access 不再包含在 Microsoft Office 2021 的一次性购买版本中,但保留在 Microsoft 365 对等版本中。
特点
用户可以创建表、查询、窗体和报表,并使用宏将它们连接在一起。
可以选择将数据导入和导出到许多格式,包括 Excel、Outlook、ASCII、dBase、Paradox、FoxPro、SQL Server、Oracle、ODBC 等。
还有 Jet 数据库格式(Access 2007 中的 MDB 或 ACCDB),它可以将应用程序和数据包含在一个文件中。这使得将整个应用程序分发给其他用户非常方便,他们可以在断开连接的环境中运行它。
Microsoft Access 提供参数化查询。这些查询和 Access 表可以从其他程序(如 VB6 和 .NET)通过 DAO 或 ADO 进行引用。
Microsoft SQL Server 的桌面版可以用作 Access 的替代方案,以替代 Jet 数据库引擎。
Microsoft Access 是一个基于文件服务器的数据库。与客户端-服务器关系数据库管理系统 (RDBMS) 不同,Microsoft Access 不实现数据库触发器、存储过程或事务日志记录。
PostgreSQL
PostgreSQL 是一个对象关系数据库管理系统 (ORDBMS),它支持关系型 (SQL) 和非关系型 (JSON) 查询。它是一个高度稳定的数据库,基于加州伯克利大学计算机科学系发布的 POSTGRES 4.2 版开发而成。这个数据库是许多应用程序的流行数据库或数据仓库。
历史
20 世纪 70 年代 - Ingres 正在伯克利大学计算机科学系作为研究项目开发,该项目于 1985 年结束。
1985 年 - 一个名为 POSTGRES 的 Ingres 后续项目启动,旨在解决旧数据库系统中的问题。该项目旨在完全支持数据类型并定义它们以建立数据库对象之间的关系。POSTGRES 还可以使用规则检索数据。
1989 年 - POSTGRES 版本 1 发布给少量用户。
1990 年 - POSTGRES 版本 2 再次发布,并重新编写了规则。
1994 年 - 随着用户数量的增加,POSTGRES 版本 4.2 发布,并以其结束了该项目。
1994 年 - 伯克利大学的学生 Andrew Yu 和 Jolly Chen 用 SQL 语言替换了运行 POSTGRES 的 POSTQUEL 查询语言,创建了 Postgres95。
1995 年 - Postgres95 的第一个版本发布,并具有更宽松的许可证。
1996 年 - 该项目更名为 PostgreSQL 以支持 SQL。
1997 年 - PostgreSQL 版本 6.0 的第一个版本发布。
从那时起,该项目的后续版本作为免费和开源软件 PostgreSQL 许可证发布。
2000 年 - PostgreSQL 版本 7.0 于 2000 年 7 月 8 日发布。这个版本在功能上的变化最大。主要变化包括实现了外键,优化器得到了改进,psql 进行了更新,并且现在支持 JOIN 语法。
2005 年 - 版本 8.0 于 2005 年 1 月 19 日发布。此版本中的更改包括服务器现在可以在 Microsoft 上本地运行,引入了保存点,提供了时间点恢复、表空间、改进的缓冲区管理、检查点,引入了更改列类型等。
2010 年 - PostgreSQL 版本 9.0 于 2010 年 9 月 20 日发布。
2017 年 - 版本 10.0 于 2017 年 10 月 5 日发布。主要改进包括:逻辑复制、声明式表分区、改进的查询并行性、整体性能的显着提高等。
2018 年 - PostgreSQL 版本 11.0 于 2018 年 10 月 18 日发布。
2019 年 - PostgreSQL 版本 12.0 于 2019 年 10 月 3 日发布。
2020 年 - PostgreSQL 版本 13.0 于 2020 年 9 月 24 日发布。
2021 年 - PostgreSQL 版本 14.0 于 2021 年 9 月 30 日发布。
2022 年 - PostgreSQL 版本 15.0 于 2022 年 10 月 13 日发布。
特点
- PostgreSQL 支持高级数据类型。
- 它具有高水平的数据弹性、完整性和正确性。
- 它包含多版本并发控制 (MVCC)
- 时间点恢复
- 细粒度访问控制
- 异步复制
- 嵌套事务
- 联机备份
- 改进的查询优化器
- 预写日志
- 它支持国际字符集、多字节字符编码、Unicode。
- 它支持针对排序、大小写敏感性和格式化的区域设置。
- 高度可扩展。
SQLite
SQLite 是一个嵌入式关系数据库系统。它被称为轻量级数据库,因为它的大小不超过 500kB,远小于其他关系数据库。这个数据库是一个内存中的开源库;因此它可以直接访问存储在其中的文件,并且其源代码在公共领域可用。
历史
2000 年 - SQLite 1.0 与 GNU 数据库管理器一起发布。Richard Hipp 博士在同一年设计了它,以创建一个无需任何管理的数据库。
2001 年 - SQLite 2.0 发布,其中包含自定义 B 树实现而不是 GNU 数据库管理器,为数据库添加了事务功能。
2003 年 - SQLite 3.0 发布,并进行了重大改进,如国际化、清单类型等。
2011 年 - Hipp 宣布了推出 SQLite 非关系接口的计划。
2018 年 - SQLite 采用了圣本笃规则中的行为准则,后来由于一些争议而更名为伦理准则。
尽管存在这些争议,但 SQLite 3.x 的新版本仍在不断发布,并具有更好的功能和改进。
2023 年 - SQLite 的最新版本是 3.42.0,于 2023 年 7 月 16 日发布。
特点
- SQLite 是一个用 ANSI C 编写的开源库。
- 它可以在跨平台上运行,从而更容易移植到其他系统。
- SQLite 的源代码在公共领域可用。
- 即使系统因任何原因崩溃,SQLite 中的事务也是原子性的、一致的、隔离的和持久的。
- 这个数据库不需要任何配置或管理。
- SQLite 是无服务器的,与其他关系数据库不同。它与访问它的应用程序链接。应用程序直接与 SQLite 交互以读取和写入存储在磁盘上的文件。
- 它具有简单易用的 API。
- 在某些情况下,SQLite 比直接文件系统 I/O 操作更快。
- SQLite 是自包含的,即它不依赖于任何外部库或操作系统。
- 使用独立的命令行界面 (CLI) 客户端来管理 SQLite。
使用 SQL 数据库的好处
关系数据库是用于数据存储的最流行和最受欢迎的数据库。使用 SQL 数据库有很多好处,包括
增强的灵活性
关系数据库利用数据定义语言 (DDL) 实时修改存储在表中的数据。最重要的是,用户可以轻松添加新的表和列、重命名并实施各种更改,而不会中断正在进行的数据库操作。
数据一致性
数据一致性是使用 SQL 数据库的另一个重要好处,因为它可以在应用程序和服务器实例之间维护数据一致性。
最小的数据冗余
关系数据库管理系统 (RDBMS) 使用规范化过程来减少数据冗余。这种方法消除了数据库中数据存储中的异常。
优化的性能
关系数据库提供一系列增值功能,这些功能具有最小的内存使用量、降低的存储成本和高处理器速度。
更高的兼容性
关系数据库为与现代技术的集成提供了更高的兼容性。
可扩展性
更高的可扩展性是使关系数据库最受欢迎的另一个特性。