场景:
需要迁移一个库里的数据到另一个库,两个库的表结构不一致,只需要一部分表数据。
方案一:
1、Navicat 连接数据库,选中表,右键导出向导,选择导出格式为 SQL 脚本文件 (*.sql),下一步,选择要导出的表,全选处下来,导出到相同文件夹,下一步下一步,开始,这样就能在选择的文件夹下看到导出的表数据 insert sql 文件。
2、对导出的表数据文件进行处理,调整不一致的表结构的 insert 语句,可采用 NotePad ++ 工具编辑,替换。
2.1、Notepad ++ 行首尾添加指定字符

3、增加清除要执行表语句 SQL 文件。
3.1、cmd 下执行 “dir ./b > a.sql”
注:用 a.sql 命名,是方便合并sql文件的时候,清除数据语句在开头
3.2、对 a.sql 文件进行替换,快速清除 MySQL 表数据的语句:TRUNCATE TABLE 表名
用 Notepad ++ 行开头替换
替换前
替换后
用 Notepad ++ 尾替换
替换前,注意这里的查找模式选择“普通”
替换后
清除杂数据
4、对“调整好的 SQL 文件”和“清除SQL 文件”进行合并,避免要执行每个sql文件,少量的表还可以,几百张表就特别耗时间耗耐心了。

5、对合并好的 SQL 文件进行测试。
6、备份要执行的库,执行测试后的 SQL 文件。
7、测试效果,大功告成。
方案二:大伙有更好的方案,欢迎加作者微信一起讨论。