不同数据库之间进行表及表数据的传输
分享一个跨数据库实现数据传输的简单方法:
今天早上想做这样一件事:想把pg中blog数据库的所有表及表数据全部复制到mysql中的blog数据库中,我使用的是navicat-premium 我首先是使用以下步骤:
1、将pg中blog数据库的数据转储成.sql文件
2、在mysql的blog数据库中运行该.sql文件
可是总是现实失败,给出如下提示:
找了半天,发现在往mysql数据库插入数据的时候,所有的值都变成?了,但这不应该成为导致运行sql脚本失败的原因,查了一番后发现网上的大家都说是因为两个数据库之间存在差异,
mysql可能无法识别pg的sql脚本中的一些函数、符号等,下面是百度到的需要在pogresql脚本中修改的地方:
我没有尝试去改脚本,因为我发现了更简单的方法,但我还是觉得有必要尝试一下,这样就能了解更多两种数据库之间的差异性了,下面就先说一下我的方法吧:
只需要一个navicat-premium工具就好
1、选中pg中要导入的数据表或表所在的数据库;
只选表就会只操作选中的表;选中数据库就会操作所有数据库中的数据;
2、右击选择数据传输
3、配置传输信息,如下图所示:
配置信息一目了然,就是源信息和目标信息,但是有一个关键点,就是天蓝色部分的选项,pg数据库所在方一定要选择模式为public,因为:
pg数据服务器的目录树结构中,表的父级目录是public而不是数据库名;
mysql数据库服务器的目录树结构中,表的父级目录就是数据库名;
如下图所示:
4、配置完点击开始就OK了,如下图所示:
5、查看数据是否一致
注意:在查看传输到mysql数据库中的是否一致前,要先关闭连接,打开之后再刷新数据库才能看到传输的数据表。以blog_user表为例,我的两个数据库中的信息如下:
postgresql中:
mysql中:
以上就是跨数据库实现数据传输的整个过程,有兴趣的可以尝试一下mysql到pg或其他数据库之间是否可以进行传输.........
本文来自博客园,作者:bug改了我,转载请注明原文链接:https://www.cnblogs.com/hellowhy/p/6509241.html