Sql 简明教程
SQL Databases
SQL Databases
SQL 或关系数据库用于存储和管理彼此之间存在关联的数据对象,即在关系数据库中处理数据的过程基于关系模型完成。
此关系模型是一种以结构化方式(使用表)管理数据的途径。用于管理这些 relational databases 的系统称为关系数据库管理系统 (RDBMS)。
SQL Database Table Structure
SQL 数据库服务器以表格形式存储数据。 Tables 是用于以行和列格式收集数据的数据库对象。行表示实体,而列定义表中每个实体的属性。
Columns: 列是表中的垂直元素。表中的每列都保存特定的属性信息,以及列属性(例如列名称和数据类型(整数、字符、字符串等))。
Rows: 行是表中的水平元素,用户可以通过执行 SQL 查询添加数据或检索数据。
Types of SQL Databases
有许多流行的 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 年 - 从 1994 年开始,Michael Widenius 和 David Axmark 开发 MySQL。
-
1995 年 - 1995 年 5 月 23 日首次内部发布。
-
1998 年 - 1998 年 1 月 8 日发布了适用于 Windows 95 和 NT 的 Windows 版本。
-
2001 年 - 2000 年 6 月发布了 3.23 版本测试版,2001 年 1 月发布了正式版本。
-
2003 年 - 2002 年 8 月作为测试版发布 4.0 版本,2003 年 3 月作为正式版本发布(并集)。
-
2004 年 - 2004 年 6 月作为测试版发布 4.1 版本,2004 年 10 月作为正式版本发布。
-
2005 年 - 2005 年 3 月作为测试版发布 5.0 版本,2005 年 10 月作为正式版本发布。
-
2008 年 - 2008 年 2 月 26 日,Sun Microsystems 收购了 MySQL AB,而 Oracle 5.1 版于 2008 年 11 月 27 日发布。
-
2010 年 - 2010 年 1 月 27 日,Oracle 收购了 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 的最新版本。
-
High Performance.
-
High Availability.
-
可扩展性和灵活性,运行任何事物。
-
Robust Transactional Support.
-
Web和数据仓库优势。
-
Strong Data Protection.
-
Comprehensive Application Development.
-
Management Ease.
-
开源自由和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 Release 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。
-
High Performance
-
High Availability
-
Database mirroring
-
Database snapshots
-
CLR integration
-
Service Broker
-
DDL triggers
-
Ranking functions
-
Row version-based isolation levels
-
XML integration
-
TRY…CATCH
-
Database Mail
ORACLE
Oracle 是一个基于非常大型多用户的数据库管理系统。Oracle 是由 "Oracle Corporation" 开发的关系数据库管理系统。
Oracle 能够高效管理其资源,在网络中发送和请求数据的众多客户中的一个信息数据库。
它是一款适用于客户端/服务器计算的优秀数据库服务器选择。Oracle 支持适用于客户端和服务器的所有主要操作系统,包括 MSDOS、NetWare、UnixWare、OS/2 和大多数 UNIX 版本。
Oracle 于 1977 年诞生,在行业内发展了 46 年(从 1977 年到 2023 年)。
-
1977 年 - 拉里·埃里森、鲍勃·迈纳和埃德·奥茨共同创立了软件研发实验室,从事开发工作。
-
1979 年 - Oracle 的 2.0 版本发布,成为第一个商业关系数据库以及第一个 SQL 数据库。该公司更名为关系软件公司 (RSI)。
-
1981 年 - RSI 开始为 Oracle 开发工具。
-
1982 年 - RSI 更名为 Oracle Corporation。
-
1983 年 - Oracle 发布 3.0 版本,使用 C 语言重新编写,可在多个平台上运行。
-
1984 年 - Oracle version 4.0 发布。它包含并发控制、多版本读取一致性等功能。
-
1985 年 - Oracle version 4.0 发布。它包含并发控制、多版本读取一致性等功能。
-
2007 年 - Oracle 发布 Oracle11g。新版本重点在于更好的分区、轻松迁移等。
-
2013 - Oracle Database 12c R1 版本于 2013 年 7 月发布,R2 版本于 2016 年 8 月在云端发布,并于 2017 年 3 月在本地发布。
-
2018 - Oracle Database 18c 版本于 2018 年 7 月首次发布。
-
2019 - Oracle Database 19c 版本于 2019 年 2 月发布。
-
2020 - Oracle Database 21c 版本于 2020 年 12 月发布。
-
2023 - Oracle Database 23c 版本于 2023 年 4 月发布。
-
Concurrency
-
Read Consistency
-
Locking Mechanisms
-
Quiesce Database
-
Portability
-
Self-managing database
-
SQL*Plus
-
ASM
-
Scheduler
-
Resource Manager
-
Data Warehousing
-
Materialized views
-
Bitmap indexes
-
Table compression
-
Parallel Execution
-
Analytic SQL
-
Data mining
-
Partitioning
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 提供了参数化查询。可以通过 DAO 或 ADO 从其他程序(如 VB6 和 .NET)引用这些查询和 Access 表。
-
可以将 Microsoft SQL Server 的桌面版本与 Access 一起使用作为 Jet 数据库引擎的替代品。
-
Microsoft Access 是基于文件服务器的数据库。与客户端-服务器关系数据库管理系统 (RDBMS) 不同,Microsoft Access 不实现数据库触发器、存储过程或事务记录。
PostgreSQL
PostgreSQL是一个对象关系数据库管理系统(ORDBMS),它同时支持关系型(SQL)和非关系型(JSON)查询。它是一个高度稳定的数据库,基于加州大学伯克利分校计算机科学系发布的POSTGRES 4.2版本开发。该数据库是许多应用程序常用的数据库或数据仓库。
-
20世纪70年代 - Ingres 最初是加州大学伯克利分校计算机科学系开发的一个研究项目,该项目于1985年结束。
-
1985年 - 已启动POST-Ingres项目,即POSTGRES,以解决旧数据库系统中的问题。该项目的目的是全面支持数据类型,并定义它们以建立数据库对象之间的关系。POSTGRES还可以使用规则检索数据。
-
1989年 - POSTGRES 1版本发布给少部分用户。
-
1990年 - 再次发布POSTGRES 2版本,其中规则经过重新编写。
-
1994年 - 随着用户数增加,发布了POSTGRES 4.2版本,该版本也结束了该项目。
-
1994年 - 加州大学伯克利分校的学生安德鲁·俞和乔莉·陈将运行POSTGRES的POSTQUEL查询语言替换为SQL语言,从而创建了Postgres95。
-
1995年 - 发布了Postgres95的首个版本,该版本具有更加宽松的许可。
-
1996年 - 将该项目更名为PostgreSQL以支持SQL。
-
1997年 - 发布了6.0版本PostgreSQL的首个版本。
-
从那时起,该项目的后续版本均以免费开源软件PostgreSQL License的形式发布。
-
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)
-
Point in time recovery
-
Granular Access Controls
-
Asynchronous Replication
-
Nested transactions
-
Online backups
-
Refined query optimizer
-
Write ahead logging
-
它支持国际字符集、多字节字符编码、Unicode。
-
它具有区域感知功能,用于排序、区分大小写和格式化。
-
Highly scalable.
SQLite
SQLite 是一个嵌入式关系数据库系统。它被称为轻量级数据库,因为它的规模不超过 500kB,远低于其他关系数据库。该数据库是一个内存中开源库;这就是它可以访问直接存储其中的文件的原因,并且它的源代码是公开的。
-
2000 年——SQLite 1.0 与 GNU 数据库管理器一起发布。理查德·希普博士在同一年设计了它,目的是创建一个不需要管理的数据库。
-
2001 年——SQLite 2.0 发布,其中包含一个自定义 B 树实现(而不是 GNU 数据库管理器),并为数据库添加了事务功能。
-
2003 年——SQLite 3.0 发布,并进行了重大的改进,例如国际化、清单输入等。
-
2011 年——希普宣布了他的计划,向 SQLite 引入非关系界面。
-
2018 年——SQLite 采用了《圣本笃会规则》的行为准则,由于一些争议,后来更名为《道德准则》。
-
尽管存在此类争议,但 SQLite3.x 的更新版本仍在不断发布,并具有更好的功能和改进。
-
2023 年——SQLite 的最新版本是 3.42.0,它于 2023 年 7 月 16 日发布。
-
SQLite 是一个用 ANSI C 写成的开源库。
-
它可在跨平台上工作,使得移植至其他系统更加轻松。
-
SQLite 的源代码在公有域中提供。
-
即使系统因任何原因崩溃,SQLite 中的事务也是原子性、一致性、独立性和持久性的。
-
该数据库不需要任何配置或管理。
-
不同于其他关系数据库,SQLite 是无服务器的。它链接到访问它的应用程序。该应用程序直接与 SQLite 进行交互,以便读取和写入存储在磁盘中的文件。
-
它具有一个简单且易于使用的 API。
-
在某些情况下,SQLite 比直接文件系统 I/O 操作更快。
-
SQLite 是自包含的,也就是说它不依赖于任何外部库或操作系统。
-
使用一个独立的命令行界面 (CLI) 客户端来管理 SQLite。