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)
上一篇 2025年10月7日 下午4:15
下一篇 2025年10月7日 下午4:43


相关推荐

  • sqlmap安装教程用w+r打开(sqlyog安装步骤)

    sqlmap安装教程需要工具:sqlmap、python2或3、计算机自带的CMD一、工具安装1、自行上官网安装sqlmap、python2或32、首先安装python可以无脑点继续,但是在下图的安装选项中,最后一个选项涉及后期环境搭建,可以选择安装,也可以不安,后期手动添加3、将安装的sqlmap文件夹打开并固定一个名字(SQLMap)4、将SQLMap打开会发现有一个很长串的文件夹,点开并将里面的文件全部剪切到SQLMap这个文件的目录下5、将SQLMap文件夹放入已安装好的pytho

    2022年4月18日
    49
  • python(62):保留两位小数[通俗易懂]

    python(62):保留两位小数[通俗易懂]转载:https://blog.csdn.net/jiandanjinxin/article/details/77752297在C/C++语言对于整形数执行除法会进行地板除(舍去小数部分)。例如

    2022年7月5日
    28
  • glance基础命令

    glance基础命令glance 相关命令 glancehelp grepimage 创建镜像 glanceimage createnamece 8 x86 64disk format qcow2contain format bare is public Truefile

    2026年3月19日
    1
  • 数据归一化处理transforms.Normalize()

    数据归一化处理transforms.Normalize()数据归一化处理transforms.Normalize()1.图像预处理Transforms(主要讲解数据标准化)1.1理解torchvisiontransforms属于torchvision模块的方法,它是常见的图像预处理的方法在这里贴上别人整理的transforms运行机制:可以看出torchvision工具包中包含三个主要模块,主要讲解学习transformstorchvision.transforms:常用的数据预处理方法,提升泛化能力包括:数据中心化、数据标准化、缩放、裁剪、旋

    2022年6月23日
    121
  • 类模板和模板类

    类模板和模板类类模板和模板类所谓类模板 实际上是建立一个通用类 其数据成员 成员函数的返回值类型和形参类型不具体指定 用一个虚拟的类型来代表 使用类模板定义对象时 系统会实参的类型来取代类模板中虚拟类型从而实现了不同类的功能 定义一个类模板与定义函数模板的格式类似 必须以关键字 template 开始 后面是尖括号括起来的模板参数 然后是类名 其格式如下 template

    2026年3月20日
    2
  • oracle中list_oracle listagg 拼接字符串过长

    oracle中list_oracle listagg 拼接字符串过长语法有点难以看懂,个人理解listagg是listaggregate的缩写(错了勿喷),也就是列表总计,聚合的意思。官方文档解释为:LISTAGGordersdatawithineachgroupspecifiedintheORDERBYclauseandthenconcatenatesthevaluesofthemeasurecolumn….

    2025年9月25日
    9

发表回复

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

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