从mysql转换到oracle数据库

本文详细介绍了如何将MySQL数据库的表结构和数据转换为Oracle数据库,包括对表结构的修改,如将text替换为varchar2,tinyint替换为number,去除auto_increment等,以及对数据的修改,如转义字符的处理。同时,文章列举了MySQL与Oracle在自动增量、分页、日期处理等方面的差异,并给出了在Oracle中实现MySQL的LEFT函数的方法。
摘要由CSDN通过智能技术生成

最近做了几个项目,我对项目的要求(有些也是客户的要求)都是既要能用mysql数据库,又要能用oracle数据库,开发时尽量用mysql,等到发布时要求两者都能适应。因为两种数据库还是许多具体的应用有些不同,而我们开发中采用的技术又有各种,所以基本上都是采用手动去转换,具体转换过程如下:

一、分表结构及表数据两次导出。一次导出去转换之后导入oracle中比较麻烦,所以我们一般在mysql导出时将导出分成个结构及个数据两次导出。导出之后将个结构语句修改,具体修改如下:
二、对表的修改:

0、去掉`,`这个是mysql的特殊标示符,转换前要去掉
1、将所有的text替换成varchar2(4000)。有些转换工具将text是转换成blob或clob,我觉得那样不好,一般还是转换成varchar2(2000)或varchar2(4000)比较好。虽然采用spring或oracle10g可以clob当作string去处理,但是我觉得一般情况下还是转换成varchar2比较好,如果字段内容确实需要更长(varchar2最长是4000),在这种情况下采用clob就比较好了。

2、将所有的varchar替换成 varchar2 。
3、将tinyint(1)替换成number(1)。
4、将int(4)替换成number(4)。
5、去掉auto_increment选择项。oracle中没有自增属性,所以要去掉。
6、将NOT NULL default ''替换成default '' NOT NULL。关键是这两个的顺序不能错,也不知道为什么,实际中总结出来的。
7、将ON DELETE CASCADE ON UPDATE CASCADE替换成ON DEL

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值