powerdesigner导入sql生成表_oracle导入sql

powerdesigner导入sql生成表_oracle导入sql在实际工作中,一张表,我们可能需要在Mysql数据库中建表,又要在Oracle数据库中建表。表中每个字段的数据类型、中文注释、是否可为NULL问题,非常影响我们建表的效率。本篇文章,以Oracle数据库表为源表,通过PowerDesigner工具将其转化成Mysql数据库建表语句。1、以oracle_to_student(学生表)为例,Oracle数据库中建表语句如下所示。…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

      在实际工作中,一张表,我们可能需要在Mysql数据库中建表,又要在Oracle数据库中建表。表中每个字段的数据类型、中文注释、是否可为NULL 问题,非常影响我们建表的效率。本篇文章,以Oracle数据库表为源表,通过PowerDesigner工具将其转化成Mysql数据库建表语句。
 

1、以 oracle_to_student(学生表)为例,Oracle数据库中建表语句如下所示。需要注意的是,若要相对完美的将Oracle数据库表转换成Mysql数据库表,需要严格按照以下Oracle数据库表结构方式,标点符号都不能多、不能少。

 

     1.1、表名、字段名,需要去除 ` 符号  ;

     1.2、若字段定义过程中缺少 ‘NOT NULL’、 ‘DEFAULT NULL’, 请添加 ;

     1.3、若Oracle表中含主键,需要添加命令设置主键。
 

-- 使用PowerDesigner将Oracle建表语句转换成Mysql建表语句。
create table oracle_to_student
(
  
  stu_id       NUMBER(16)      NOT NULL,
  stu_name     VARCHAR2(32)    NOT NULL,
  stu_tuition  NUMBER(9, 2)    NOT NULL,
  stu_address  VARCHAR2(500)   DEFAULT NULL,
  stu_age      NUMBER(3) 	   DEFAULT NULL,
  create_date  DATE 		   DEFAULT NULL
)
tablespace STT_TBS_DATA
  pctfree 10
  initrans 1
  maxtrans 255
  storage
  (
    initial 1
    next 1
    minextents 1
    maxextents unlimited
  );

comment on table oracle_to_student
  is '学生表';

-- 新增语句
alter table oracle_to_student add constraint pk_student001 primary key(stu_id);
  

comment on column oracle_to_student.stu_id
  is '学生编码';
  
comment on column oracle_to_student.stu_name
  is '学生姓名';

comment on column oracle_to_student.stu_tuition
  is '学费';
  
comment on column oracle_to_student.stu_address
  is '学生地址';

comment on column oracle_to_student.stu_address
  is '学生年龄';  
  
comment on column oracle_to_student.create_date
  is '创建时间';

 

2、 打开 PowerDesigner 软件, 选择 文件 —> 反向工程 —> Database ,如下图1所示。

powerdesigner导入sql生成表_oracle导入sql

                                                                                  图1

 

3、 之后,会弹出 New Physical Date Model 窗口。 在该窗口 “常规” 选项界面, 由于我们是将Oracle数据库中表转成Mysql数据库中表,所以 “DBMS” 行选择 “ORACLE Version 11g” 选项,如图2所示。

powerdesigner导入sql生成表_oracle导入sql

                                                                                  图2

 

4、之后,会弹出 “Database Reverse Engineering Options” 窗口, 在该窗口点击 “Add Files (Ctrl + N)” 图标,选择Mysql数据库student表sql脚本,如图3、 图4所示。

powerdesigner导入sql生成表_oracle导入sql

                                                                                  图3

 

powerdesigner导入sql生成表_oracle导入sql

                                                                                  图4

 

5、由步骤4操作后,PowerDesigner 软件界面如下图5所示。

powerdesigner导入sql生成表_oracle导入sql

                                                                                  图5

 

6、在 PowerDesigner 软件上,选择 “数据库” —> “Change Current DBMS…” 选项,如下图6所示。 

powerdesigner导入sql生成表_oracle导入sql

                                                                                  图6

 

7、之后,会弹出 “Change DBMS” 窗口。 由于我们是将Oracle数据库表转化成Mysql数据库表,在这里 “New 数据库管” 一行选择 “MySQL 5.0” 。 “Current 数据库管” 一栏,会随着这一步操作完成后,自动更改成 “MySQL 5.0” ,如下图7、图8所示。

powerdesigner导入sql生成表_oracle导入sql

                                                                                  图7

 

powerdesigner导入sql生成表_oracle导入sql

                                                                                  图8

 

8、使用快捷键: Ctrl + G,调用出 “Database Generation” 窗口,选择生成Mysql建表语句文件的路径,并对文件进行命名,如下图9所示。

powerdesigner导入sql生成表_oracle导入sql

                                                                                  图9

 

9、之后,会弹出 “Generated Files” 窗口,由log日志、生成的sql脚本文件可知,程序运行成功。点击 “Generated Files” 窗口中的 “关闭(C)” 按钮后,会弹出 “结果列表” 窗口,该窗口无实际意义,直接关闭。 如下图10、图11所示。

powerdesigner导入sql生成表_oracle导入sql

                                                                                  图10

 

powerdesigner导入sql生成表_oracle导入sql

                                                                                  图11

 

10、由Oracle建表语句中文字段含义可知,stu_id、stu_age 这2个字段为普通数字数据类型字段,stu_tuition 字段为金额数据类型字段,需保留2位小数。经过PowerDesigner软件生成后的Mysql建表语句,这3个字段的数据类型并非是我们需要的数据类型,因此需要更改。

 

        将  stu_id numeric(16, 0)  更改为 stu_id bigint(16) ;  将 stu_age numeric(3, 0) 更改为 stu_age int(3);  将 stu_tuition numeric(9, 2) 更改为 stu_tuition decimal(9, 2) 。 如下图12、 图13 所示。

powerdesigner导入sql生成表_oracle导入sql

                                                                                  图12

 

powerdesigner导入sql生成表_oracle导入sql

                                                                                  图13

 

11、经过上述处理之后,SQL脚本即可放到Navicat软件中直接运行使用。 图14、图15是效果展示图。

Oracle数据库表转成Mysql数据库表的SQL语句如下所示:

/*==============================================================*/
/* DBMS name:      MySQL 5.0                                    */
/* Created on:     2020/3/12 9:34:59                            */
/*==============================================================*/


drop table if exists ORACLE_TO_STUDENT;

/*==============================================================*/
/* Table: ORACLE_TO_STUDENT                                     */
/*==============================================================*/
create table ORACLE_TO_STUDENT
(
   STU_ID               bigint(16) not null comment '学生编码',
   STU_NAME             varchar(32) not null comment '学生姓名',
   STU_TUITION          decimal(9,2) not null comment '学费',
   STU_ADDRESS          varchar(500) default NULL comment '学生年龄',
   STU_AGE              int(3) default NULL,
   CREATE_DATE          datetime default NULL comment '创建时间',
   primary key (STU_ID)
);

alter table ORACLE_TO_STUDENT comment '学生表';

 

 

powerdesigner导入sql生成表_oracle导入sql

                                                                                  图14

 

powerdesigner导入sql生成表_oracle导入sql

                                                                                  图15

 

 

参考文章:  PowerDesigner,如何将Mysql数据库建表语句转化成Oracle数据库建表语句。    

 

姊妹篇文章: PowerDesigner,如何将Mysql数据库建表语句转化成Oracle数据库建表语句。     

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/195934.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 技术相关连接

    技术相关连接JavaScript:JavaScript ES6中export及export default的区别 :https://blog.csdn.net/zhou_xiao_cheng/article/details/52759632Vue:从vue新建页面过程看vue项目文件调用关系 :https://blog.csdn.net/weixin_43236610/article…

    2022年6月13日
    22
  • Matlab axis用法「建议收藏」

    Matlab axis用法「建议收藏」转载地址:http://blog.sina.com.cn/s/blog_b26a90750101kxdx.htmlaxisoff;%去掉坐标轴axistight;%紧坐标轴axisequal;%等比坐标轴axis([-0.1,8.1,-1.1,1.1]);%坐标轴的显示范围%gca:gca,h=figure(…);set(gca,’XLim’…

    2022年6月11日
    49
  • matlab从小到大的冒泡排序_matlab比较两个数大小

    matlab从小到大的冒泡排序_matlab比较两个数大小[1,2,3];%冒泡法排序,注意的是特征值顺序变化的同时要与相对应的下标同…转换完之后对向量进行逆序排列,我看到有同学硬是写了一个冒泡排序来完成这个工作,你的数据结构老师一定非常欣慰。但是在MATLAB里不用从头开始,直接调用sort……3.实现对输入任意长度向量元素的冒泡排序的升序排列。不允许使用sort函数…三分搜索法hdu1016PrimeRi…

    2022年10月18日
    0
  • Tomcat7.0安装配置详细(图文)「建议收藏」

    Tomcat7.0安装配置详细(图文)「建议收藏」Tomcat7.0安装配置详细(图文)说明:Tomcat服务器上一个符合J2EE标准的Web服务器,在tomcat中无法运行EJB程序,如果要运行可以选择能够运行EJB程序的容器WebLogic,W

    2022年7月1日
    33
  • 论文DepthTrack: Unveiling the Power of RGBD Tracking阅读及代码讲解[通俗易懂]

    论文DepthTrack: Unveiling the Power of RGBD Tracking阅读及代码讲解[通俗易懂]最近终于有了一篇的顶会像样的RGBDtracking的论文了:ICCV2021:DepthTrack:UnveilingthePowerofRGBDTrackingGithub:https://github.com/xiaozai/DeT数据集简介这边看完就随手记录一下关键的部分:主要是创建了个大规模的RGBDtrackingbenchmark:DepthTrack(有数据集之后才能促进算法的研究),当然随之也搞了个baselinetracker—DeT,这也是现在搞d

    2022年9月14日
    0
  • GOD is a DJ[通俗易懂]

    GOD is a DJ[通俗易懂]先知教会我们知识,但不赐予我们力量;上帝创造我们身体,但不注入我们生命

    2022年10月8日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号