当前位置:首页 > 行业动态 > 正文

如何通过实例掌握MySQL数据库的基础知识?

MySQL是一种流行的关系型数据库管理系统,广泛用于存储和管理数据。

MySQL数据库是开源的关系型数据库管理系统,广泛应用于各种规模的网站和应用中,下面将详细介绍几个常用的MySQL示例数据库:

如何通过实例掌握MySQL数据库的基础知识?  第1张

Sakila 数据库

1、概述:Sakila 是一个在线 DVD 出租商店的模拟数据库,提供了标准数据库模式,用于演示 MySQL 的各种功能特性,如视图、存储过程和触发器。

2、数据表

actor:演员信息表,通过 film_actor 表与 film 表关联。

film:电影信息表,引用了 language 表,并被多个表引用。

film_actor:电影演员表,多对多关系表。

film_category:电影分类表,多对多关系表。

category:分类表。

inventory:电影库存表,记录每部电影在不同商店的库存情况。

film_text:电影描述表,包含 film 表中的部分字段。

language:语言信息表。

address:地址信息表,被多个表引用。

city:城市信息表。

country:国家信息表。

customer:客户信息表。

payment:付款信息表。

rental:租赁信息表。

staff:员工信息表。

store:商店信息表。

3、视图

actor_info:包含所有演员及其出演的电影。

customer_list:客户和地址信息列表。

film_list:电影信息和参与的演员。

sales_by_film_category:按电影分类统计的销售金额。

sales_by_store:按商店统计的销售金额。

staff_list:员工列表。

4、存储过程和函数

film_in_stock:获取指定电影在指定商店内未出租的 DVD。

film_not_in_stock:获取指定电影在指定商店内已出租未归还的 DVD。

rewards_report:获取上个月的最佳客户列表。

get_customer_balance:返回指定客户在某个日期之前的欠款。

inventory_held_by_customer:返回正在租赁某个 DVD 的客户。

inventory_in_stock:返回某个 DVD 是否可出租。

5、触发器

customer_create_date:插入数据时设置 customer 表的 create_date 字段。

payment_date:插入数据时设置 payment 表的 payment_date 字段。

rental_date:插入数据时设置 rental 表的 rental_date 字段。

ins_film:将 film 表上插入的数据复制到 film_text 表。

upd_film:将 film 表上更新的数据同步到 film_text 表。

del_film:删除 film 表数据时同步删除 film_text 表上的数据。

Employees 数据库

1、概述:Employees 是一个经典的员工管理数据库,用于展示基本的数据库设计和 SQL 查询。

2、数据表

departments:存储部门信息。

employees:存储员工基本信息。

dept_emp:记录员工与部门之间的关联关系。

dept_manager:记录部门经理的信息。

salaries:记录员工的薪资信息。

titles:记录员工的职位信息。

World 数据库

1、概述:World 是一个小型的示例数据库,通常用于演示 SQL 语句和基本的数据库操作,适合初学者用来学习基本的 SQL 查询语句。

World_x 数据库

1、概述:World_x 是基于 World 修改后的版本,主要用于测试 MySQL 5.7 之后提供的文档存储功能和 X DevAPI。

Menagerie 数据库

1、概述:Menagerie 是一个简单的示例数据库,通常用于演示基本的数据库操作和概念。

这些示例数据库不仅可以帮助用户练习 SQL 查询和数据库操作,还可以作为设计实际数据库时的参考,通过下载和使用这些数据库,用户可以更好地理解和应用 MySQL 的各种功能和特性。

字段名 数据类型 描述
id INT 员工ID,主键,自增
first_name VARCHAR(50) 员工名
last_name VARCHAR(50) 员工姓
email VARCHAR(100) 员工邮箱
department VARCHAR(50) 所属部门
salary DECIMAL(10, 2) 员工薪资
hire_date DATE 入职日期

下面是一个创建该表格的SQL语句示例:

CREATE TABLE employees (
    id INT AUTO_INCREMENT PRIMARY KEY,
    first_name VARCHAR(50) NOT NULL,
    last_name VARCHAR(50) NOT NULL,
    email VARCHAR(100) UNIQUE NOT NULL,
    department VARCHAR(50) NOT NULL,
    salary DECIMAL(10, 2) NOT NULL,
    hire_date DATE NOT NULL
);

在这个例子中,我们定义了一个包含6个字段的表格,每个字段都有其特定的数据类型和约束条件。id 字段是整数类型,并且是自动递增的主键;email 字段是唯一且非空的;salary 字段是带有两位小数的十进制数。

0