MySQL 示例数据库大全

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云原生数据库 PolarDB MySQL 版,Serverless 5000PCU 100GB
云原生数据库 PolarDB 分布式版,标准版 2核8GB
简介: 我们练习 SQL 时,总会自己创造一些测试数据或者网上找些案例来学习,其实 MySQL 官方提供了好几个示例数据库,在 MySQL 的学习、开发和实践中具有非常重要的作用,能够帮助初学者更好地理解和应用 MySQL 的各种功能和特性,特别是练习 SQL 的好帮手。

前言:


我们练习 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 ,笔者已经将各示例数据库导入脚本汇总好了,直接命令行或客户端执行导入即可。


参考:


相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
1天前
|
SQL 关系型数据库 MySQL
数据库大作业——基于qt开发的图书管理系统(三)Qt连接Mysql数据库
数据库大作业——基于qt开发的图书管理系统(三)Qt连接Mysql数据库
|
1天前
|
监控 关系型数据库 MySQL
MySQL 查询数据库响应时长详解
- 启用慢查询日志(`slow_query_log`)分析超时查询,调整`long_query_time`阈值。 - 使用`EXPLAIN`检查查询执行计划,优化索引和查询结构。 - `SHOW PROFILE`揭示查询各阶段耗时,辅助性能调优。 - 开启Performance Schema监控服务器,通过`events_statements_summary_by_digest`等表分析性能。 - MySQL Workbench和Percona Toolkit等工具提供额外的性能分析和管理功能。 - 优化技巧:创建合适索引,精简查询,调整数据库配置以提升响应速度。
27 0
|
1天前
|
存储 关系型数据库 MySQL
数据库MySQL——从0到1入门教程
数据库MySQL——从0到1入门教程
199 0
|
1天前
|
存储 运维 关系型数据库
关系型数据库mysql高度可定制性
【6月更文挑战第13天】
32 2
|
1天前
|
关系型数据库 MySQL Java
|
1天前
|
SQL 关系型数据库 MySQL
关系型数据库mysql跨平台兼容性
【6月更文挑战第13天】
45 4
|
2天前
|
关系型数据库 MySQL 数据库
【MySQL】MySQL数据库的delete from table和truncate table之间的区别
【MySQL】MySQL数据库的delete from table和truncate table之间的区别
203 1
|
2天前
|
SQL 关系型数据库 MySQL
使用 C++ 结合 MySQL 数据库实现留言板
使用 C++ 结合 MySQL 数据库实现留言板
142 0
|
2天前
|
存储 关系型数据库 MySQL
MySQL数据库进阶第三篇(MySQL性能优化)
MySQL数据库进阶第三篇(MySQL性能优化)
|
2天前
|
SQL 存储 关系型数据库
MySQL数据库进阶第二篇(索引,SQL性能分析,使用规则)
MySQL数据库进阶第二篇(索引,SQL性能分析,使用规则)

相关产品

  • 云数据库 RDS MySQL 版