如何通过实例掌握MySQL数据库的基础知识?
- 行业动态
- 2024-10-13
- 1
MySQL是一种流行的关系型数据库管理系统,广泛用于存储和管理数据。
MySQL数据库是开源的关系型数据库管理系统,广泛应用于各种规模的网站和应用中,下面将详细介绍几个常用的MySQL示例数据库:
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) | 员工姓 |
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 字段是带有两位小数的十进制数。
本站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本站,有问题联系侵删!
本文链接:http://www.xixizhuji.com/fuzhu/84352.html