MySQL数据迁移简单实用跨表导数据(mysql不同表导数据)
MySQL数据库作为一款常用的关系型数据库管理系统,在开发和运维过程中都很常见。随着业务的发展,数据迁移也成为了一个常见的需求。但是,如果手动操作迁移时,无疑会增加工作量和出错的可能性。本文将介绍如何使用MySQL的官方工具——MySQL Workbench,实现跨表导数据的简单操作。
一、环境准备
1、MySQL Workbench
下载地址:https://dev.mysql.com/downloads/workbench/
2、安装数据源和目标数据库
这里以Docker安装MySQL为例,分别在两个不同容器内部署不同的数据库。
容器1:作为数据源,运行以下命令启动MySQL服务
docker run -p 3306:3306 --name mysql-source \
-e MYSQL_ROOT_PASSWORD=123456 \-d mysql:latest
容器2:作为目标数据库,运行以下命令启动MySQL服务
docker run -p 3307:3306 --name mysql-target \
-e MYSQL_ROOT_PASSWORD=123456 \-d mysql:latest
在容器内部启动MySQL客户端,使用root账户登录到数据库。
二、创建数据表
在数据源数据库(容器1)中创建一张测试表,并往表中添加一些数据。
CREATE TABLE t_user (
id INT PRIMARY KEY AUTO_INCREMENT, username VARCHAR(50) NOT NULL,
age INT NOT NULL);
INSERT INTO t_user (username, age) VALUES
('Alice', 21),('Bob', 23),
('Charlie', 25);
三、导出数据表结构
打开MySQL Workbench,选择数据源数据库,点击左侧菜单栏中的“Server”选项卡,然后选择“Data Export”选项卡。
在“Dump Options”设置中,选择“Dump Structure Only”选项,然后点击“Start Export”按钮,导出数据表的结构文件。
四、导出数据
在同一个“Data Export”选项卡中,选择“Custom”选项,然后在”Tables to Export”栏中选择要导出的数据表。
选择“Dump data only”选项后,点击“Start Export”按钮,导出数据文件。
导出文件格式为sql文件,包括创建表和插入数据的sql语句。
五、导入数据
同样,在MySQL Workbench中,选择目标数据库(容器2),点击左侧菜单栏中的“Server”选项卡,然后选择“Data Import”选项卡。
在“Import Options”中,选择“Import from Self-Contned File”选项。然后在“File to Import”中选择要导入的数据文件。点击“Start Import”按钮,导入数据。
六、验证导入结果
在目标数据库中查询导入结果,验证数据导入结果是否正确。
USE testdb;
SELECT * FROM t_user;
通过以上操作,我们就可以实现跨表导数据的简单操作,避免手动操作过程中产生的错误和出错的可能性。这种方法适用于迁移少量数据的情况,同时可以灵活地选择要导入的表和数据。