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数据库建表语句。     

 

 

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • Django(61)认证组件源码分析

    Django(61)认证组件源码分析认证组件源码入口APIView下的dispatch下的self.initial(request,*args,**kwargs),源码如下:definitial(self,request,

  • Spark技术内幕:Executor分配详解

    Spark技术内幕:Executor分配详解当用户应用newSparkContext后,集群就会为在Worker上分配executor,那么这个过程是什么呢?本文以Standalone的Cluster为例,详细的阐述这个过程。

    2022年10月29日
  • msm8953 uart配置

    msm8953 uart配置参考链接:MSM8937-MSM8953UART配置调试指南uart驱动是使用内核驱动,无需自己编写,一般只需修改设备树。一、修改设备树设备树的配置有三部分:1.msm8953.dtsi中添加code blsp2_uart2:serial@7af0000{ compatible=”qcom,msm-lsuart-v14″; reg=<0x7af00000x…

  • CentOS 初体验三: Yum 安装、卸载软件

    CentOS 初体验三: Yum 安装、卸载软件转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/78894974本文出自【赵彦军的博客】一:Yum简介Yum(全称为YellowdogUpdater,Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可

  • oracle优化:instr做join条件很慢「建议收藏」

    情况描述sql语句selectsqdbh,sqr,bm,sqrq,skdwbm,skdwmc,sqfkje,’N’asxz_flag,sjfkrq,fkdwkhyhfrom(select*fromyw_fksqdwhereto_char(sqrq,’yyyy/mm’)>=’2018/12’andstatein(‘付款’,’已审核’…

  • 《老漏洞复现与分析篇》 – 其一 – shift后门

    《老漏洞复现与分析篇》 – 其一 – shift后门引言因为本菜鸡的博客没什么文章素材,所以想开一个新文章类别,本来想整一个漏洞分析和复现的,无奈由于实力不允许,只能再前面加一个“老”字,整一点多年前的老漏洞拿来复现和分析。俗话说得好,要善于总结前人的经验和智慧,才能在自己的前进道路上走得更快。本系列在我能理解的范围内我都会详细讲解,我不能理解的就靠收集网上的资料了,引用会注明来源和作者,如有侵权请联系我删除。那么废话…

发表回复

您的电子邮箱地址不会被公开。

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