官方数据

官方的 mysql 数据在这里:https://github.com/datacharmer/test_db

我们需要直接使用 employees.sql 这个文件中数据就可以了,怎么做呢?在 navicat 中导入 sql 我自己经过尝试会报如下错误:

[ERR] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'source D:/database/test_db/test_db/load_departments.dump ;

错误原因未知,但是我找到了其他方法来正常导入,请见下面

导入 sql 流程

首先我们下载 github 的这个地址的压缩包,可以用迅雷下载这个链接要快一些

然后我们本地输入下面命令,表示 mysql 登入并且导入 sql 文件(下面我指定了自己的地址)

mysql -u root -p < D:\database\test_db\test_db\employees.sql

输入正常用户名密码之后,运行,会发现显示在 113 行有错误,因为官网的employees.sql中有点小问题,我们需要把这里的数据:

SELECT 'LOADING departments' as 'INFO';
source load_departments.dump ;
SELECT 'LOADING employees' as 'INFO';
source load_employees.dump ;
SELECT 'LOADING dept_emp' as 'INFO';
source load_dept_emp.dump ;
SELECT 'LOADING dept_manager' as 'INFO';
source load_dept_manager.dump ;
SELECT 'LOADING titles' as 'INFO';
source load_titles.dump ;
SELECT 'LOADING salaries' as 'INFO';
source load_salaries1.dump ;
source load_salaries2.dump ;
source load_salaries3.dump ;

source show_elapsed.sql ;

替换成如下形式,其实就是 dump 文件前要加上路径地址,而且这个路径还只能使用/,还不能使用\

SELECT 'LOADING departments' as 'INFO';
source D:/database/test_db/test_db/load_departments.dump ;
SELECT 'LOADING employees' as 'INFO';
source D:/database/test_db/test_db/load_employees.dump ;
SELECT 'LOADING dept_emp' as 'INFO';
source D:/database/test_db/test_db/load_dept_emp.dump ;
SELECT 'LOADING dept_manager' as 'INFO';
source D:/database/test_db/test_db/load_dept_manager.dump ;
SELECT 'LOADING titles' as 'INFO';
source D:/database/test_db/test_db/load_titles.dump ;
SELECT 'LOADING salaries' as 'INFO';
source D:/database/test_db/test_db/load_salaries1.dump ;
source D:/database/test_db/test_db/load_salaries2.dump ;
source D:/database/test_db/test_db/load_salaries3.dump ;

source D:/database/test_db/test_db/show_elapsed.sql ;

然后再次输入如下命令:

mysql -u root -p < D:\database\test_db\test_db\employees.sql

最后等待结束,打开 navicat 我们查看任意一个连接本地的数据库有哪些,找到 employees 数据,查看其中的表数据,就能看到表中数据全部导入进来了,不过会有一些延迟