MySQL基础学习③数据库准备工作,导入官方employees数据库

授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力。希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石。。。

共同学习成长QQ群 622368884,不喜勿加,里面有一大群志同道合的探路人

快速导航
单片机菜鸟的博客快速索引(快速找到你要的)

重点说一下,麻烦三连点赞,你的点赞是博主创作的前进动力

1、前言

在学习数据库查询语句之前,也就是DQL(Data Query
Language)。我们先构造一个数据库数据。

刚好MySQL官方提供了一个测试数据库 employees。这节我们就来讲解如何将该数据库的内容导入到我们练习中去。

前提:

2、构建步骤

2.1 测试数据库文件下载

请到GitHub clone以下内容:

git clone https://github.com/datacharmer/test_db

比如我这里Clone到 E:\test_db:

在这里插入图片描述

2.2 在test_db文件里打开cmd

在这里插入图片描述
在cmd里面输入以下命令:

mysql -uroot -p你的密码 -t < employees.sql

在这里插入图片描述
等待导入数据库(需要花点时间)。

2.3 导入成功

在这里插入图片描述

3. employees数据库 —— 职工雇佣信息

看一下整体数据库信息:

在这里插入图片描述
看看官方提供的示意图:
在这里插入图片描述
这里有6张表:

  • employees 职工雇佣信息表
  • titles 职称信息表
  • salaries 工资信息表
  • departments 部门信息表
  • dept_manager 部门领导表
  • dept_emp 职工对应部门关系表

3.1 employees 职工雇佣信息表

CREATE TABLE employees (
emp_no int(11) NOT NULL,
birth_date date NOT NULL,
first_name varchar(14) NOT NULL,
last_name varchar(16) NOT NULL,
gender enum(‘M’,‘F’) NOT NULL,
hire_date date NOT NULL,
PRIMARY KEY (emp_no)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

  • emp_no 职工编号
  • birth_date 生日
  • first_name 姓
  • last_name 名
  • gender 性别
  • hire_date 入职时间

3.2 titles 职称信息表

CREATE TABLE titles (
emp_no int(11) NOT NULL,
title varchar(50) NOT NULL,
from_date date NOT NULL,
to_date date DEFAULT NULL,
PRIMARY KEY (emp_no,title,from_date),
CONSTRAINT titles_ibfk_1 FOREIGN KEY (emp_no) REFERENCES employees (emp_no) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

  • emp_no 职工编号
  • title 职称
  • from_date 开始日期
  • to_date 结束日期

3.3 工资信息表

CREATE TABLE salaries (
emp_no int(11) NOT NULL,
salary int(11) NOT NULL,
from_date date NOT NULL,
to_date date NOT NULL,
PRIMARY KEY (emp_no,from_date),
CONSTRAINT salaries_ibfk_1 FOREIGN KEY (emp_no) REFERENCES employees (emp_no) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

  • emp_no 职工编号
  • salary 工资
  • from_date 开始日期
  • to_date 结束日期

3.4 departments 部门信息表

CREATE TABLE departments (
dept_no char(4) NOT NULL,
dept_name varchar(40) NOT NULL,
PRIMARY KEY (dept_no),
UNIQUE KEY dept_name (dept_name)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

  • dept_no 部门编号
  • dept_name 部门名字

3.5 dept_manager 部门领导表

CREATE TABLE dept_manager (
emp_no int(11) NOT NULL,
dept_no char(4) NOT NULL,
from_date date NOT NULL,
to_date date NOT NULL,
PRIMARY KEY (emp_no,dept_no),
KEY dept_no (dept_no),
CONSTRAINT dept_manager_ibfk_1 FOREIGN KEY (emp_no) REFERENCES employees (emp_no) ON DELETE CASCADE,
CONSTRAINT dept_manager_ibfk_2 FOREIGN KEY (dept_no) REFERENCES departments (dept_no) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

  • emp_no 职工编号
  • dept_no 部门编号
  • from_date 开始日期
  • to_date 结束日期

3.6 dept_emp 职工对应部门关系表

CREATE TABLE dept_emp (
emp_no int(11) NOT NULL,
dept_no char(4) NOT NULL,
from_date date NOT NULL,
to_date date NOT NULL,
PRIMARY KEY (emp_no,dept_no),
KEY dept_no (dept_no),
CONSTRAINT dept_emp_ibfk_1 FOREIGN KEY (emp_no) REFERENCES employees (emp_no) ON DELETE CASCADE,
CONSTRAINT dept_emp_ibfk_2 FOREIGN KEY (dept_no) REFERENCES departments (dept_no) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

  • emp_no 职工编号
  • dept_no 部门编号
  • from_date 开始日期
  • to_date 结束日期

4、总结

主要是引入测试数据库,后面的基础学习都是基于该库去操作。

单片机菜鸟哥 CSDN认证博客专家 Java ESP8266
1、多年Android App开发经验;
2、小程序流行期加入了小程序开发大军;
3、业余时间爱捣鼓自己的业余爱好,对ESP8266物联网开发有自己的见解;
4、喜欢研究代码规范,喜欢了解新知识,致力于不甘做个平凡程序员,知其原理,懂其核心。
©️2020 CSDN 皮肤主题: 猿与汪的秘密 设计师:上身试试 返回首页
实付 9.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值