数据库之间的数据迁移


说到数据迁移,方法有很多,大家了解最多的就是数据库的导入导出,那就先从导入导出说起。


1.通过导入导出迁移数据数据]

导出指定表的数据

exp name/pass@orcl file= d:\tab1.dmp tables=(tab1)

导入表数据

imp kf/zx@zxcc  file=d:\zxcc_tb.dmp  tables=(tb_operator)

大部分接触过数据库的人都了解过相似操作。多表多数据时推荐使用,单表时就显得操作复杂不推荐

2.通过sql迁移数据

INSERT INTO tab1 SELECT com1,com2 FORM tab2 [where ROWNUM>1]

解释:具体意思就是将tab2中的数据插入到 tab1中,也可以添加相应的选择及插入顺序选项,灵活多变,对于数据库不大很大的操作,推荐使用。


3.通过触发器迁移数据

通过第四种方式变形而来,具体思路:

CREATE TRIGGER ...

BEFORE(INSERT/UPDATE/DELETE)

BEGIN
    INSERT INTO tab1 ...
END

需要创建触发器并创建相应语句,不推荐使用。


4.通过存储过程迁移数据

存储过程貌似也可以做到,对这方面了解不多,抛砖引玉吧,有想法的给我留言,共同探讨


5.通过编程迁移数据


这种方式应该是大家都熟悉的一种方式,具体思路:读取数据库数据,写入数据库数据。及,通过程序读取你需要的信息,选择有用的信息循环插入你要迁移的数据库的具体的某个表中。即:select all --->>insert  all

例如:

第一步:通过查询语句查询所需信息 select com1,com2 from tab1 [where ...];

第二步:通过通过程序循环插入 insert into tab2 values(com1,com2);

此种方式编写简单,复用性好,对刚接触数据迁移不熟悉其他方式迁移的童鞋比较推荐,缺点就是过分依赖编程,不是所有情况下都试用。


身边暂时没有工具,先把理论写好,等以后有时间,再把代码加上。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冰夏之夜影

赠人玫瑰,手留余香

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值