怎么将oracle的sql文件转换成mysql的sql文件

Oracle 有sequence ,mysql 中没有,但有auto_increment 属性。解决办法是把Oracle 中sequence 转换成使用auto_increment 属性,某些情况可能还有一种办法可以解决问题,新建一个独立的表用来专门记录自动增长型的数据。5 、索引长度限制的区别。从MySQL 4.1.2 开始,MyISAM 和InnoDB 表索引长度支持1000 ...
怎么将oracle的sql文件转换成mysql的sql文件
转换一般会遇到的问题:
1 、 大小写敏感的区别( 如果服务器 OS 是linux) 。
在oracle 中一般情况下不区分大小写。有时候我们在使用oracle 不注意大小写的问题,表名和字段名不加双引号是不区分大小写的,像这样:insert into tableName 和 insert into TABLENAME 效果是一样的,用工具导出创建/ 数据初始化脚本,得到的结果一般表名和字段名转化成了大写。
但在MySQL 中,所使用操作系统 的大小写敏感性决定了数据库名和表名的大小写敏感性。数据库对应数据目录中的目录,数据库中的每个表至少对应数据库目录中的一个文件( 也可能是多个,取决于存储引擎) 。因此,使用数据库或表实际上是操纵这些文件( 夹) ,所以使用操作系统的大小写敏感性决定了数据库名和表名的大小写敏感性。在以linux 为内核的操作系统中是大小写敏感的。
解决的办法是把mysql 的数据库名和oracle 的大小写保持一致,表名与应用程序中sql 字符串中的表名保持一致,如果应用程序中字段名用了双引号,那请把sql 中的字段名大小写与双引号里的字符保持一致。如果你的应用程序所引用的表名、字段没有统一大小写,那麻烦就大了。
2 、保留字的区别。
像sql 语言的函数名( 如:inteval ,show) 等是保留字。Oracle 中保留字是可以作为表名和字段名,并且不影响使用,但mysql 中保留字是不能作为表名和字段名,如果使用会报语法错误。
解决办法,把sql 语句中的保留字用‘`’ 符号引起来,这个符号位于键盘 的tab 键上面; 如果是字段名还有另外一种方法tablename. 字段名。像这样:insert into tablename (id, `interval`) value(….. 或insert into tablename (id, tablename.inteval) value(….. 。
3 、数据类型的区别。
在mysql 中没有像oracle 中的varchar2 、number ,mysql 有与之对应的varchar 、numeric ,当然在oracle中没有mysql 的time 类型。
解决办法是替换。
4 、自动增长类型的区别。
Oracle 有sequence ,mysql 中没有,但有auto_increment 属性。
解决办法是把Oracle 中sequence 转换成使用auto_increment 属性,某些情况可能还有一种办法可以解决问题,新建一个独立的表用来专门记录自动增长型的数据。
5 、索引长度限制的区别。
从MySQL 4.1.2 开始,MyISAM 和InnoDB 表索引长度支持1000 字节,也就是说索引字段的长度不能超过1000 字节,如果超过会报错:ERROR 1071 (42000): Specified key was too long; max key length is 1000 bytes 。如果是UTF-8 编码,相当于333 个字符的长度( 因为UTF8 一个字符占3 个字节) 。Oracle 的索引长度限制比mysql 要宽松得多。解决办法要么改索引的定义,要么改字段的定义长度。
6、SQL中函数名称不一致
可以在网上找oracle 常用函数 与mysql 的对照表,然后逐一修改。网上也可以找到简单的转换工具,效果自己判断。2016-03-25
方法/步骤
1,将要导入的库的所有表的表结构(不要表数据,只要表结构)导出成一个.sql文件。
2,在PowerDesinger里找到 File -->> Reverse Engineer --->> Database ;
3,在弹出的“New Physcal Data Model”窗口界面,选择“share the DBMS definition”然后点击确定。注意,数据库也要选择和安装的SQL的数据库对应的,例如数据库是oracle 10g的,选择的也是oracle 10g。
4,选“Using script files”,点下侧的添加按钮,添加XXX.sql文件,然后选择“确定 ”。
怎么将oracle的sql文件转换成mysql的sql文件
5,转换成mysql适用的数据库,从菜单栏上“Database”--->“Change Current DBMS”
6,弹出“Change the Traget DBMS”窗口界面,在窗口界面里“General”--->“New DBMS”--->“MySql 5.0”,点击“确定”。
7,“确定”后,导入oracle的sql现在产生的sql语句就是mysql 5.0的,按快捷键ctrl+G导出mysql的sql文件,快捷键后,弹出“Database Generation”窗口界面,把File Name修改导出的文件名,例如“jm.sql”2016-03-22
你好。可以通过erstudio转换的。
打开oracle的sql文件,转换为mysql 的sql文件。只要目标数据库选正确,就可以转换。2016-03-07
mengvlog 阅读 11 次 更新于 2025-07-20 09:51:26 我来答关注问题0
  •  深空见闻 怎么将oracle的sql文件转换成mysql的sql文件

    一、导入Oracle SQL文件到PowerDesigner 导出Oracle表结构:首先,确保你已经从Oracle数据库中导出了所有表的表结构(不包含数据),保存为一个.sql文件。在PowerDesigner中导入SQL文件:打开PowerDesigner,选择File -> Reverse Engineer -> Database。在弹出的“New Physical Data Model”窗口中,选择“Shar...

  •  阿暄生活 怎么将oracle的sql文件转换成mysql的sql文件

    添加SQL文件:在反向工程向导中,选择“Using script files”,然后点击添加按钮,添加你的Oracle .sql文件。选择“确定”继续。转换数据库类型:更改目标DBMS:在PowerDesigner中,选择Database -> Change Current DBMS。在弹出的“Change the Target DBMS”窗口界面,选择“General” -> “New DBMS” ->...

  •  海南加宸 Oracle数据库中.sql文件的保存

    在Oracle数据库中,.sql文件的保存其实非常简单。你只需要将你的输入内容复制到文本编辑器中,然后将文本文件的后缀名从.txt更改为.sql即可。这种简单的操作适用于多种场景。例如,当你需要备份数据库、执行SQL查询或创建脚本时,.sql文件将会发挥重要作用。通过这种方式,你可以方便地管理你的数据库操作。

  •  湖北倍领科技 如何使用PL/SQL工具将oracle数据导出到excel

    要使用PL/SQL工具将Oracle数据导出至Excel,首先启动PL/SQL环境。接着,转至菜单栏中的“文件-新建-SQL窗口”选项,打开一个新的SQL查询窗口。在此窗口中,输入SQL语句以查询所需导出的数据。例如,若需导出表t_yang的所有数据,可以输入:1 select * from t_yang; 然后按F8键执行此语句。执行后,...

  •  阿暄生活 oracle中怎么导出sql语句

    首先,你需要登录PL/SQL环境,连接到指定的数据库。登录过程通常包括输入用户名、密码和目标数据库的名称。接着,找到并点击工具栏上的“工具”选项。在工具菜单中,选择“导出表”功能。这一步骤可能会根据不同的PL/SQL版本有所差异,但通常会是一个明显可识别的选项。为了选择多张表进行导出,可以使用...

檬味博客在线解答立即免费咨询

mySQL相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部