MySQL 示例数据库大全

前言:

我们练习 SQL 时,总会自己创造一些测试数据或者网上找些案例来学习,其实 MySQL 官方提供了好几个示例数据库,在 MySQL 的学习、开发和实践中具有非常重要的作用,能够帮助初学者更好地理解和应用 MySQL 的各种功能和特性,特别是练习 SQL 的好帮手。

官方示例数据库介绍

示例数据库可以用于学习和测试 MySQL 的各种功能,包括但不限于 SQL 查询、存储过程、触发器、视图等。以下是一些官方提供的示例数据库以及它们的简要介绍:

  1. sakila: 这是一个模拟的在线 DVD 租赁业务的数据库。它提供了一个标准数据库模式,用于演示 MySQL 的各种功能特性,如视图、存储过程和触发器。sakila 数据库相对复杂和完整,适合用于测试和学习。
  2. employees: 这是一个经典的员工管理数据库,用于展示基本的数据库设计和 SQL 查询,适用于练习JOIN操作、分组统计、子查询等SQL技能,以及理解数据库设计中的实体关系。
  3. world: 这是一个小型的示例数据库,通常用于演示 SQL 语句和基本的数据库操作,适合初学者用来学习基本的SQL查询语句,如排序、筛选、计数等。
  4. world_x: 这个数据库是基于 world 修改后的版本,主要用于测试 MySQL 5.7 之后提供的文档存储功能和 X DevAPI。它包含了文档存储的示例和相关的数据模型。
  5. menagerie: 这是一个简单的示例数据库,通常用于演示基本的数据库操作和概念。
  6. airportdb: 这是一个大型数据集,旨在与 Oracle Cloud Infrastructure (OCI) 和 AWS 上的 MySQL HeatWave 一起使用,用于复杂的分析查询,个人测试一般很少用。

示例数据库下载链接:https://dev.mysql.com/doc/index-other.html 。找到下载页面的 Example Databases 这一栏,可以下载对应的示例数据库,Linux 系统可以下载对应的 tar.gz 压缩文件,Windows 系统下载 zip 压缩文件,官方也提供了使用说明文档。

这里为了方便各位进行导入测试,笔者将整理好的 SQL 文件放在网盘里,有需要的读者自取哦!下载链接:
https://pan.quark.cn/s/698c335220e3

employees 与 sakila 示例库详解

目前最常用的示例数据库就是 employees 和 sakila 了。如果你已经导入了示例数据库,那么请打开这俩数据库,我们一起来详细了解下。

employees 顾名思义就是员工数据库,包含了 6 个表(dept_emp、dept_manager、titles、salaries、employees 以及 departments),大约 400 万条数据(需要约 160 MB 磁盘空间)。Employees 数据库的模式结构如下图所示:

  • departments:存储部门信息,包含 dept_no(部门编号)和 dept_name(部门名称)字段。
  • employees:存储员工基本信息,包括 emp_no(员工编号)、birth_date(出生日期)、first_name(名字)、last_name(姓氏)、gender(性别)和 hire_date(入职日期)字段。
  • dept_emp:记录了员工与部门之间的关联关系,包含 emp_no(员工编号)和 dept_no(部门编号)字段。
  • dept_manager:记录了部门经理的信息,包含 dept_no(部门编号)和 emp_no(经理编号)字段以及开始及结束日期字段。
  • salaries:记录了员工的薪资信息,包含 emp_no(员工编号)、salary(薪水)、from_date(开始日期)和 to_date(结束日期)字段。
  • titles:记录了员工的职位信息,包含 emp_no(员工编号)、title(职位名称)和 from_date(开始日期)及 to_date(结束日期)字段。

如果你想练习SQL查询,可以参考这个链接:https://www.cnblogs.com/stream886/p/6254709.html

相比较而言,sakila 库要复杂许多,包含了丰富的数据表结构和数据,适用于演示和教学目的。它包括演员(actor)、电影(film)、库存(inventory)、租赁(rental)等表,以及视图、存储过程和触发器的示例,展示了 MySQL 的高级功能。下图是 sakila 库的架构示意图:

参考官网:https://dev.mysql.com/doc/sakila/en/sakila-usage.html 链接可以学习下部分查询示例。如果你熟练使用 ChatGPT 等大模型的话,可以让它以示例数据库为准给你出几道查询题目哦。

总结:

本篇文章介绍了几个 MySQL 官方示例数据库,对于初学者而言还是很有帮助的,可以练习 SQL 文件执行、SQL 查询、以及数据库各对象之间的关联等等。有需要的读者,可以点击链接:https://pan.quark.cn/s/698c335220e3 ,笔者已经将各示例数据库导入脚本汇总好了,直接命令行或客户端执行导入即可。

参考:

相关推荐
小华同学ai2 分钟前
AJ-Report:一款开源且非常强大的数据可视化大屏和报表工具
数据库·信息可视化·开源
Acrelhuang23 分钟前
安科瑞5G基站直流叠光监控系统-安科瑞黄安南
大数据·数据库·数据仓库·物联网
十叶知秋1 小时前
【jmeter】jmeter的线程组功能的详细介绍
数据库·jmeter·性能测试
瓜牛_gn3 小时前
mysql特性
数据库·mysql
奶糖趣多多4 小时前
Redis知识点
数据库·redis·缓存
CoderIsArt5 小时前
Redis的三种模式:主从模式,哨兵与集群模式
数据库·redis·缓存
师太,答应老衲吧7 小时前
SQL实战训练之,力扣:2020. 无流量的帐户数(递归)
数据库·sql·leetcode
Yaml48 小时前
Spring Boot 与 Vue 共筑二手书籍交易卓越平台
java·spring boot·后端·mysql·spring·vue·二手书籍
Channing Lewis8 小时前
salesforce case可以新建一个roll up 字段,统计出这个case下的email数量吗
数据库·salesforce
追风林8 小时前
mac 本地docker-mysql主从复制部署
mysql·macos·docker