今天有一个需求,立了一个新项目,新项目初步定了使用了现有的框架,但数据库要求由原来的mysql改成oracle,所以原来的基础版本的数据库脚本就需要修改成符合oracle的脚本,修改完成后,总结了一下,大致需要修改的地方如下:

建表:create table

1、mysql的ID自增长

2、所有的表名、字段名的引号去掉(包括建表“表名”、“字段名”、主键“字段名”,索引的索引名称、字段名,外键的外键名称、表名、字段名 )

3、驱动、字符集等去掉

4、字段注释修改

5、索引修改

6、字段的类型修改,以下数据类型对应关系

mysql                                                                             oracle

int(5)                                                     number(5,0)             #5为长度,0为小数点精确数

datetime                                               date

smallint(5)                                            number(5,0)

float(5,2)、double(5,2)                         number(5,2)              #5为长度,2为小数精确数

char(8)、varchar(8)                             varchar2(8)

text                                                       clob

示例一:

mysql:

CREATE TABLE `fq_permission` (

`ID` int(11) NOT NULL AUTO_INCREMENT,

`PID` int(11) DEFAULT NULL COMMENT '父节点名称',

`NAME` varchar(50) NOT NULL COMMENT '名称',

`TYPE` varchar(20) DEFAULT NULL COMMENT '类型:菜单or功能',

`SORT` int(11) DEFAULT NULL COMMENT '排序',

`URL` varchar(255) DEFAULT NULL,

`PERM_CODE` varchar(50) DEFAULT NULL COMMENT '菜单编码',

`ICON` varchar(255) DEFAULT NULL,

`STATE` varchar(10) DEFAULT NULL,

`DESCRIPTION` text,

PRIMARY KEY (`ID`)

) ENGINE=InnoDB AUTO_INCREMENT=107 DEFAULT CHARSET=utf8;        #转成oracle时,去除驱动、字符集等

oracle:

CREATE TABLE fq_permission (                #变化:去引号

ID NUMBER(11) NOT NULL,                  #变化:修改数据类型、去引号、去自增长

PID NUMBER(11) DEFAULT NULL ,              #变化:修改数据类型、去引号、去注释

NAME varchar2(50) NOT NULL ,               #变化:同上

TYPE varchar2(20) DEFAULT NULL,              #变化:同上

SORT NUMBER(11) DEFAULT NULL,              #变化:同上

URL varchar2(255) DEFAULT NULL,                #变化:修改数据类型、去引号

PERM_CODE varchar2(50) DEFAULT NULL,            #变化:修改数据类型、去引号、去注释

ICON varchar2(255) DEFAULT NULL,                #变化:修改数据类型、去引号

STATE varchar2(10) DEFAULT NULL,                #变化:修改数据类型、去引号

DESCRIPTION clob,                        #变化:修改参数类型、去引号

PRIMARY KEY (ID)                        #变化:去引号

);

COMMENT ON COLUMN fq_permission.PID is '父节点名称';     #字段注释

COMMENT ON COLUMN fq_permission.NAME is '名称';

COMMENT ON COLUMN fq_permission.TYPE is '类型:菜单or功能';

COMMENT ON COLUMN fq_permission.SORT is '排序';

COMMENT ON COLUMN fq_permission.PERM_CODE is '菜单编码';

示例二:

mysql:

CREATE TABLE `fq_user_role` (

`ID` int(11) NOT NULL AUTO_INCREMENT,

`USER_ID` int(11) NOT NULL,

`ROLE_ID` int(11) NOT NULL,

PRIMARY KEY (`ID`),

KEY `FK_USER_ROL_REFERENCE_ROLE` (`ROLE_ID`) USING BTREE,

KEY `FK_USER_ROL_REFERENCE_USERS` (`USER_ID`) USING BTREE,

CONSTRAINT `fq_user_role_ibfk_1` FOREIGN KEY (`ROLE_ID`) REFERENCES `fq_role` (`ROLE_ID`),

CONSTRAINT `fq_user_role_ibfk_2` FOREIGN KEY (`USER_ID`) REFERENCES `fq_user` (`USER_ID`)

) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;

oracle:

drop table fq_user_role;

CREATE TABLE fq_user_role (

ID number(11) NOT NULL,

USER_ID number(11) NOT NULL,

ROLE_ID number(11) NOT NULL,

PRIMARY KEY (ID),

CONSTRAINT fq_user_role_ibfk_1 FOREIGN KEY (ROLE_ID) REFERENCES fq_role (ROLE_ID),

CONSTRAINT fq_user_role_ibfk_2 FOREIGN KEY (USER_ID) REFERENCES fq_user (USER_ID)

);

#索引另外创建

create index FK_USER_ROL_REFERENCE_ROLE on fq_user_role(ROLE_ID);

create index FK_USER_ROL_REFERENCE_USERS on fq_user_role(USER_ID);

插入数据:insert into

1、所有的表名、字段名的引号去掉

2、日期时间修改

3、字段对应参数由一对多改成一对一

示例一

#一对多改成一对一,去引号

mysql:

insert into 'fq_role_permission'('ID','ROLE_ID','PERMISSION_ID') values(1316,13,58),(1317,13,59);

oracle:

insert into fq_role_permission(ID,ROLE_ID,PERMISSION_ID) values(1316,13,58);

insert into fq_role_permission(ID,ROLE_ID,PERMISSION_ID) values(1317,13,59);

示例二:

#时间格式修改

mysql:

insert into 'fq_user'('USER_ID','LOGIN_NAME','PASSWORD','REG_DATE')

values (1,'admin','159ae5f48f14e89f3f9f54dc995f1f276d472b54','25-05-2017 10:32:02');

oracle:

insert into fq_user(USER_ID,LOGIN_NAME,PASSWORD,REG_DATE,EMAIL)

values (1,'admin','159ae5f48f14e89f3f9f54dc995f1f276d472b54',to_date('25-05-2017 10:32:02', 'dd-mm-yyyy hh24:mi:ss'));

mysql脚本转成oracle脚本_mysql脚本手动修改成oracle脚本相关推荐

  1. mysql初始化脚本建表_mysql新建表修改表sql脚本

    新建表语句: -- ----------------------------------------------- -- 全量脚本 -- ------------------------------- ...

  2. mysql怎么把字符变成数字_mysql将字符转换成数字

    在操作mysql时,经常需要将字符转换成数字,这一步虽然简单,但不常用的话也很容易忘记,现将在网上找到的方法记录如下: 1.将字符的数字转成数字,比如'0'转成0可以直接用加法来实现 例如:将pony ...

  3. mysql查询的结果拼接字符串_MySql查询结果拼接成字符串

    背景:做SQL查询时会经常需要,把查询的结果拼接成一个字符串. 解决方法: 通过 group_concat 函数 1.正常查询 如下: select id result from ctp_enum_i ...

  4. mysql 列数据显示转成行数据显示_Mysql的列修改成行并显示数据的简单实现

    创建测试表: DROP TABLE IF EXISTS `test`; CREATE TABLE `test` ( `year` int(11) DEFAULT NULL, `month` int(1 ...

  5. mysql 查看当前数据库编码方式_MySQL查看与修改当前数据库编码的方法

    MySQL中,数据库的编码是一个相当重要的问题,有时候我们需要查看一下当前数据库的编码,甚至需要修改一下数据库编码. 查看当前数据库编码的SQL语句为: mysql> use xxx Datab ...

  6. mysql查看数据库事务隔离级别_MySQL查看和修改事务隔离级别的实例讲解

    查看事务隔离级别 在 MySQL 中,可以通过show variables like '%tx_isolation%'或select @@tx_isolation;语句来查看当前事务隔离级别. 查看当 ...

  7. mysql添加字段基本语法格式_MySQL添加字段 修改字段 删除字段-Mysql常用命令-吾爱编程网...

    作为程序员mysql的操作是必须要学会的,有时候我们需要使用命令行对数据表进行操作,接下来吾爱编程就为大家介绍一下MySQL 添加字段.修改字段.删除字段等常用命令,有需要的小伙伴可以参考一下: 1. ...

  8. win11开始菜单怎么修改成win10风格 Windows11开始菜单修改成win10右键风格的设置方法

    有很多朋友升级到win11系统之后不是特别喜欢右键菜单,因为经常需要多点击一次显示更多选项,很不舒服.大家就想知道如何修改回原来win10的右键菜单,其实还是有方法的,除了使用软件以外,今天小编就来给 ...

  9. linux将中文语言改成英文版,将Linux中文语言修改成英文的具体操作方法及报错解决...

    -bash: warning: setlocale: LC_CTYPE: cannot change locale (EN_US.UTF-8) 把linux系统从中文设置英文字符集后发生以下报错 首先 ...

最新文章

  1. android录像增加时间记录(源码里修改)
  2. LVS(Linux Virtual Server)三种负载均衡模型和十种调度的简单介绍
  3. 微信jssdk ajax 获取签名,【Golang版】微信access_token、jsapi_ticket、signature签名算法生成示例,开箱即用...
  4. input标签内容改变的触发事件
  5. makefile文件简要介绍
  6. 8、Java Swing JCheckBox:复选框组件
  7. Linux cat指令(用于连接文件并打印到标准输出设备上)
  8. san-hot-loader 应用及原理实现
  9. LeetCode450题—— 删除二叉搜索树中的节点
  10. 汇编语言第三章检测题
  11. Jmeter基础之JMeter参数化补充练习
  12. 代理类 invoke方法没有返回值怎么办_何为动态代理?
  13. eclipse如何添加Memory Analyzer
  14. PHP中date()日期函数有关参数整理
  15. matlab 2014a安装方法以及解决打包失败的问题
  16. 树莓派4B-Python-控制WS2812
  17. STM32——滴答定时器设置1us问题
  18. Linux下堆漏洞利用(off-by-one)
  19. 关于抽象类的实验(java 内部类、多态等练习)
  20. xiangmu--WAD

热门文章

  1. 小学一年级第一次上计算机课,小学一年级上册信息技术教案【三篇】
  2. 淮阳一高2021高考成绩查询,周口教育网2021年淮阳中招成绩查询系统
  3. html语言的前景,html5就业前景
  4. java hql多条件查询_Hibernate结合JPA编写通用泛型多条件查询
  5. word公式插件_添加office小插件,让办公更高效
  6. java专业日报800字,JAVA每日学习日报 7.8
  7. 五、开始学习Excel函数,效率快速提高
  8. SemEval-2022组队参赛啦!八节课带你入门全球最大的语义测评大赛
  9. 综合LSTM、transformer优势,DeepMind强化学习智能体提高数据效率
  10. 一文解析激光雷达中时序融合的研究现状和发展方向