• 不同数据库之间进行表及表数据的传输


    分享一个跨数据库实现数据传输的简单方法:

    今天早上想做这样一件事:想把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或其他数据库之间是否可以进行传输.........

  • 相关阅读:
    软件工程阅读笔记02
    软件工程阅读笔记01
    四则运算二
    第十七周学习进度条
    个人总结以及建议
    写api接口神器--带你5分钟了解swagger
    nginx的配置和基本参数说明
    larval 使用redis做缓存
    Laravel——缓存使用
    开启redis-server提示 # Creating Server TCP listening socket *:6379: bind: Address already in use--解决方法
  • 原文地址:https://www.cnblogs.com/hellowhy/p/6509241.html
Copyright © 2020-2023  润新知