MYSQL 与 Oracle 之间的数据类型转换

MySQL Data Type Oracle Data Type

BIGINT

NUMBER(19, 0)

BIT

RAW

BLOB

BLOB, RAW

CHAR

CHAR

DATE

DATE

DATETIME

DATE

DECIMAL

FLOAT (24)

DOUBLE

FLOAT (24)

DOUBLE PRECISION

FLOAT (24)

ENUM

VARCHAR2

FLOAT

FLOAT

INT

NUMBER(10, 0)

INTEGER

NUMBER(10, 0)

LONGBLOB

BLOB, RAW

LONGTEXT

CLOB, RAW

MEDIUMBLOB

BLOB, RAW

MEDIUMINT

NUMBER(7, 0)

MEDIUMTEXT

CLOB, RAW

NUMERIC

NUMBER

REAL

FLOAT (24)

SET

VARCHAR2

SMALLINT

NUMBER(5, 0)

TEXT

VARCHAR2, CLOB

TIME

DATE

TIMESTAMP

DATE

TINYBLOB

RAW

TINYINT

NUMBER(3, 0)

TINYTEXT

VARCHAR2

VARCHAR

VARCHAR2, CLOB

YEAR

NUMBER


  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以使用以下步骤将 MySQL 数据格式转换为 Oracle 数据格式: 1. 导出 MySQL 数据库中的数据为 SQL 文件。你可以使用以下命令导出: ``` mysqldump -u 用户名 -p 密码 数据库名 > 导出文件名.sql ``` 2. 打开导出的 SQL 文件,用文本编辑器查找并替换以下内容: ``` ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ``` 替换为: ``` STORAGE (BUFFER_POOL DEFAULT) CHARSET AL32UTF8; ``` 这将更改表的存储引擎及字符集。 3. 将 SQL 文件导入到 Oracle 数据库中。你可以使用以下命令导入: ``` sqlplus 用户名/密码@数据库名 @导入文件名.sql ``` 4. 确保在 Oracle 数据库中创建了与 MySQL 数据库相同的表和列,以便导入数据。 如果表的列名在 Oracle 中是关键字(如 DATE),则需要用双引号将列名括起来。 如果表中有自增列(如 AUTO_INCREMENT),则需要在 Oracle 中创建序列并使用触发器来模拟自增列。 如果表中有 ENUM 类型的列,则需要在 Oracle 中创建对应的 CHECK 约束。 如果表中有 SET 类型的列,则需要在 Oracle 中创建对应的多选列表。 5. 将 MySQL 数据库中的数据导入到 Oracle 数据库中。你可以使用以下命令导入: ``` mysql -u 用户名 -p 密码 数据库名 -e "SELECT * FROM 表名" | awk '{gsub(/\t/,","); print}' | sqlldr 用户名/密码@数据库名 control=控制文件名 ``` 其中,控制文件是一个包含导入规则的文件,它告诉 SQL*Loader 如何将数据导入到 Oracle 中。你需要编写自己的控制文件以适应你的数据格式。 这些步骤应该可以帮助你将 MySQL 数据库中的数据格式转换为 Oracle 数据库中的数据格式。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值