头图

1.1 数据库

数据库(Database)是许多相关数据构成的集合。数据无处不在,数据库也是如此。例如,我们手机上的联系人列表就是一个简单的数据库;我们的银行账号就存储在银行数据库中;在网络上购物时,我们浏览的是各种产品数据库,同时我们的浏览和购买行为也被存储到电商后台的用户行为数据库。

 title=

当用户或者应用需要访问和使用这些数据库中的数据时,需要借助专门的管理软件系统,也就是数据库管理系统(DBMS)。按照数据的组织和管理模式,主要的 DBMS 可以分为关系数据库管理系统非关系数据库管理系统

  • 关系数据库管理系统(RDBMS)主要使用二维表(Table)来存储数据,类似于 Excel 中的电子表格。表中的行对应一个实体或对象,列对应实体的属性。例如,公司的所有员工可以存储在员工表中,每行代表一个员工的信息,员工属性可以包括工号、姓名、性别、出生日期等。关系数据库使用标准的结构化查询语句(SQL)执行各种数据的增删改查以及数据库的管理操作。主流的关系数据库包括 MySQL、Oracle、SQL Server 以及 PostgreSQL 等。
  • 非关系数据管理系统(NoSQL)通常不支持关系模型,也不提供 SQL 接口。它们通常是为了解决关系数据库在某些场景下的局限性,例如大数据、横向可扩展性等。其中,NoSQL 代表 Not Only SQL。常见的 NoSQL 数据库包括键值存储(Redis 等)、文档数据库(MongoDB 等)、宽列存储数据库(Cassandra 等)以及图数据库(Neo4j 等)。

1.2 MySQL

MySQL 是最流行的开源关系数据库管理系统,由 Oracle 公司进行开发并提供支持。根据 CSDN 发布的《2019-2020 中国开发者调查报告》,83% 的开发者在使用 MySQL 数据库。

数据库

MySQL 最新版本为 MySQL 8.0,提供了大量的新功能,包括窗户函数(window function)和通用表表达式(Common Table Expressions)等。另外,MySQL 8.0 还提供了原生的文档数据库(JSON)支持,可以用于替代 MongoDB 这种文档数据库。MySQL 使用 GPL 开源协议,提供了免费的社区版;同时也提供收费的企业版本和技术支持。

MySQL 支持各种平台,包括 Windows、Linux 以及 macOS。相对于其他大型的数据库系统(Oracle、SQL Server 等)而言,MySQL 更加容易管理和使用,同时又具有非常好的性能、可靠性和扩展性。

MySQL 可以支持客户端/服务器模式以及嵌入式的运行方式,非常适合开发网站或者 Web 应用;非常流行的 LAMP/LNMP 网站架构中的 M 就是指 MySQL。在国内,几乎所有的主流和非主流互联网公司都会使用 MySQL 数据库。

除了官方版本之外,还存在许多 MySQL 衍生版。例如 MariaDB、Percona Server for MySQL 等。

1.3 SQL

SQL 代表结构化查询语言(Structured Query Language),它是管理和访问关系数据库的标准语言。通过 SQL 可以执行数据的增加(Create)、删除(Delete)、修改(Update)以及查询(Retrieve),同时还可以执行许多数据库的管理操作。

SQL 语句可以按照它们的作用分为以下几类:

  • DDL(Data Definition Language)- 数据定义语义,用于管理数据库中的对象,例如创建(CREATE)、修改(ALTER)以及删除(DROP)。
  • DML(Data Manipulation Language)- 数据操作语言,用于查询和操作数据。主要包括 SELECT、INSERT、UPDATE、DELETE 和 MERGE 等语句。
  • DCL(Data Control Language)- 数据控制语言,用于管理数据库对象的访问权限。主要包括权限的授予(GRANT)和撤销(REVOKE)。
  • TCL(Transaction Control Language)- 事务控制语言,用于控制数据库的事务。主要包括提交(COMMIT)、回滚(ROLLBACK)、保存点(SAVEPOINT)以及事务设置(SET TRANSACTION)。

SQL 最初由 IBM 公司开发,在 1986 年成为 ANSI 标准,并且在 1987 年成为 ISO 的标准。ANSI 在1992 年对 SQL 标准进行了修订,称为 SQL92 或者 SQL2;在 1999 年再次进行了修订,称为 SQL99 或者 SQL3。

如今,SQL 标准由 ANSI 和 ISO/IEC 共同维护,随后经历的修订版本包括 SQL:2003、SQL:2006、SQL:2008、SQL:2011。最新的版本为 SQL:2016或者 ISO/IEC 9075:2016,它取代了之前的所有版本。

MySQL 实现了 SQL 标准中的许多功能,同时也提供了一些专有的扩展。

下一篇我们将会介绍如何安装 MySQL 数据库服务器。


不剪发的Tony老师
4 声望8 粉丝

《SQL编程思想》作者,SQL布道师。