如何手动将ORACLE的sql建表语句转换为MYSQL的建表语句

时间:2021-07-17 08:39:27

ORACLE sql建表语句
CREATE TABLE "SCOTT"."BUG" (
"BUG_ID" NUMBER NOT NULL ,
"BUG_TYPE" VARCHAR2(200 BYTE) NULL ,
"BUG_STATE" VARCHAR2(200 BYTE) NULL ,
"BUG_PROP" VARCHAR2(200 BYTE) NULL ,
"BUG_MAKER" VARCHAR2(200 BYTE) NULL ,
"BUG_CREATOR" VARCHAR2(200 BYTE) NULL ,
"BUG_PLAN_DATE" DATE NULL ,
"BUG_CREATE_DATE" DATE NULL ,
"BUG_SIGNER" VARCHAR2(200 BYTE) NULL ,
"BUG_REPAIR_DATE" DATE NULL ,
"BUG_CHECK_DATE" DATE NULL ,
"BUG_PLAN_VERSION" VARCHAR2(200 BYTE) NULL ,
"BUG_LASTED_DATE" DATE NULL ,
"BUG_ENVIRONMENT" VARCHAR2(200 BYTE) NULL ,
"BUG_EFFECTIVE_VERSION" VARCHAR2(200 BYTE) NULL ,
"BUG_TITLE" VARCHAR2(200 BYTE) NULL ,
"BLOCK_ID" NUMBER NULL ,
"BUG_DESCRIBE" VARCHAR2(200 BYTE) NULL ,
"PRODUCE_NAME" VARCHAR2(200 BYTE) NULL ,
"PROGRAM_ID" NUMBER NULL ,
"BUSER_ID" NUMBER DEFAULT ''  NULL ,
"BUG_UPDATE" VARCHAR2(200 BYTE) NULL ,
"BUG_PHOTO" VARCHAR2(255 BYTE) NULL ,
"BUG_FU" VARCHAR2(255 BYTE) NULL ,
"BUG_PROP_FLAG" NUMBER NULL ,
"BUG_TOMAN" VARCHAR2(255 BYTE) NULL ,
"BUG_FU_NAME" VARCHAR2(255 BYTE) NULL ,
"CASE_ID" NUMBER NULL ,
"BUG_KEYS" VARCHAR2(255 BYTE) NULL
)
INSERT 插入数据语句:
INSERT INTO "SCOTT"."BUG" VALUES ('336000001', '任务', '未解决', '中', '杨东川', ' 杨东川 ', TO_DATE('2017-08-18 08:05:07', 'YYYY-MM-DD HH24:MI:SS'), TO_DATE('2017-08-18 08:05:07', 'YYYY-MM-DD HH24:MI:SS'), ' 杨东川 ', TO_DATE('2017-08-18 08:05:07', 'YYYY-MM-DD HH24:MI:SS'), null, null, TO_DATE('2017-08-09 00:00:00', 'YYYY-MM-DD HH24:MI:SS'), 'Windows', null, '测试帮助台中文字是否可用', null, '测试帮助台中文字是否可用', '分析研判库模块', '3430001', '35800001', ' 杨东川 ', null, null, '2', '杨东川', null, '0', 'nullnull');
MYSQL sql建表语句
DROP TABLE  `BUG`;
CREATE TABLE  `BUG` (
`BUG_ID` int(11) NOT NULL ,
`BUG_TYPE` varchar(200) NULL ,
`BUG_STATE` varchar(200) NULL ,
`BUG_PROP` varchar(200) NULL ,
`BUG_MAKER` varchar(200) NULL ,
`BUG_CREATOR` varchar(200) NULL ,
`BUG_PLAN_datetime` datetime NULL ,
`BUG_CREATE_datetime` datetime NULL ,
`BUG_SIGNER` varchar(200) NULL ,
`BUG_REPAIR_datetime` datetime NULL ,
`BUG_CHECK_datetime` datetime NULL ,
`BUG_PLAN_VERSION` varchar(200) NULL ,
`BUG_LASTED_datetime` datetime NULL ,
`BUG_ENVIRONMENT` varchar(200) NULL ,
`BUG_EFFECTIVE_VERSION` varchar(200) NULL ,
`BUG_TITLE` varchar(200) NULL ,
`BLOCK_ID` int(11) NULL ,
`BUG_DESCRIBE` varchar(200) NULL ,
`PRODUCE_NAME` varchar(200) NULL ,
`PROGRAM_ID` int(11) NULL ,
`BUSER_ID` int(11)  NULL ,
`BUG_UPdatetime` varchar(200) NULL ,
`BUG_PHOTO` varchar(255) NULL ,
`BUG_FU` varchar(255) NULL ,
`BUG_PROP_FLAG` int(11) NULL ,
`BUG_TOMAN` varchar(255) NULL ,
`BUG_FU_NAME` varchar(255) NULL ,
`CASE_ID` int(11) NULL ,
`BUG_KEYS` varchar(255) NULL
)
INSERT 插入数据语句:
INSERT INTO BUG VALUES ('336000001', '任务', '未解决', '中', '杨东川', '杨东川', STR_TO_DATE('2017-08-18 08:05:07', '%Y-%m-%d %H:%i:%s'), STR_TO_DATE('2017-08-18 08:05:07', '%Y-%m-%d %H:%i:%s'), '杨东川', STR_TO_DATE('2017-08-18 08:05:07', '%Y-%m-%d %H:%i:%s'), null, null, STR_TO_DATE('2017-08-09 00:00:00', '%Y-%m-%d %H:%i:%s'), 'Windows', null, '测试帮助台中文字是否可用', null, '测试帮助台中文字是否可用', '分析研判库模块', '3430001', '35800001', '杨东川', null, null, '2', '杨东川', null, '0', 'nullnull');

两者差异区别:

ORCLE
MYSQL
number
int(XX)
varchar2
varchar
date
datetime
“”(双引号修饰字段名)
``(Tab建 上一位)
TO_DATE(?, 'YYYY-MM-DD HH24:MI:SS')
STR_TO_DATE(?, '%Y-%m-%d %H:%i:%s')
STR_TO_DATE
mysql内置函数,在mysql里面利用str_to_date()把字符串转换为日期。
示例:
str_to_date('2017-04-02 15:23:42','%Y-%m-%d %H:%i:%s');
str_to_date('2017-04-02 02:19:50', '%Y-%m-%d %h:%i:%s');