powerdesigner生成mysql语句_oracle创建表的sql语句

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

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

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

 

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

 

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

 

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

     1.2、若字段定义过程中有 ‘ COLLATE utf8mb4_bin ‘  关键字,去掉 ;

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

 

-- 去掉的字符:`
-- 去掉的字符:COLLATE utf8mb4_bin 
-- stu_name varchar(255) COLLATE utf8mb4_bin DEFAULT NULL COMMENT '性别',

CREATE TABLE student (
  id int(8) NOT NULL COMMENT '主键',
  stu_name varchar(255) DEFAULT NULL COMMENT '学生姓名',
  stu_sex varchar(8) DEFAULT NULL COMMENT '性别',
  stu_age int(4) DEFAULT NULL COMMENT '学生年龄',
  stu_class varchar(255) DEFAULT NULL COMMENT '学生班级',
  stu_address varchar(255) DEFAULT NULL COMMENT '家庭住址',
  stu_mother varchar(255) DEFAULT NULL COMMENT '学生母亲姓名',
  stu_m_age varchar(255) DEFAULT NULL COMMENT '学生母亲年龄',
  stu_m_phone varchar(255) DEFAULT NULL COMMENT '学生母亲电话',
  stu_father varchar(255) DEFAULT NULL COMMENT '学生父亲姓名',
  stu_f_age varchar(255) DEFAULT NULL COMMENT '学生父亲年龄',
  stu_f_phone varchar(255) DEFAULT NULL COMMENT '学生父亲电话',
  create_date datetime DEFAULT NULL COMMENT '创建日期',
  update_date datetime DEFAULT NULL COMMENT '更新日期',
  start_date datetime DEFAULT NULL COMMENT '入学时间',
  stop_date datetime DEFAULT NULL COMMENT '毕业时间',
  PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='学生表';

 

 

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

 

powerdesigner生成mysql语句_oracle创建表的sql语句

                                                                                    图1

 

 

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

 

powerdesigner生成mysql语句_oracle创建表的sql语句

                                                                                    图2

 

 

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

 

powerdesigner生成mysql语句_oracle创建表的sql语句

                                                                                    图3

 

powerdesigner生成mysql语句_oracle创建表的sql语句

                                                                                    图4

 

 

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

 

powerdesigner生成mysql语句_oracle创建表的sql语句

                                                                                    图5

 

 

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

 

powerdesigner生成mysql语句_oracle创建表的sql语句

                                                                                    图6

 

 

7、之后,会弹出 “Change DBMS” 窗口。 由于我们是将Mysql数据库表转化成Oracle数据库表,在这里 “New 数据库管” 一行选择 “ORACLE Version 11g” 。 “Current 数据库管” 直接手动输入:ORACLE Version 11g  ,如下图7所示。

 

powerdesigner生成mysql语句_oracle创建表的sql语句

                                                                                    图7

 

 

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

 

powerdesigner生成mysql语句_oracle创建表的sql语句

                                                                                    图8

 

 

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

 

powerdesigner生成mysql语句_oracle创建表的sql语句

                                                                                    图9

 

powerdesigner生成mysql语句_oracle创建表的sql语句

                                                                                    图10

 

 

10、打开生成好的SQL脚本,删除语句: constraint PK_STUDENT primary key (id) , 并删除一个多余的逗号。如下图11所示。  

 

powerdesigner生成mysql语句_oracle创建表的sql语句

                                                                                    图11

 

 

11、将SQL脚本中所有的英文半角双引号去掉,可使用NotePad++工具直接替换。如下图12所示,在下图12中,我将转成Oracle建表语句的 student 表名改成了 student003. 因为在我的Oracle数据库中,已经存在了 student 表,这次为了测试检验,故在此将表名更换。

 

powerdesigner生成mysql语句_oracle创建表的sql语句

                                                                                    图12

 

 

12、在SQL语句中,添加给表建立中文注释的命令、添加给表建立主键的命令。命令如下所示,截图如图13所示。


-- 新增命令,给表命名。
COMMENT ON TABLE student IS '学生表';

-- 新增命令,给表添加主键。
alter table student add constraint pk_student primary key(id);

 

powerdesigner生成mysql语句_oracle创建表的sql语句

                                                                                    图13

 

 

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

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

/*==============================================================*/
/* DBMS name:      ORACLE Version 11g                           */
/* Created on:     2020/2/14 22:29:28                           */
/*==============================================================*/


drop table student003 cascade constraints;

/*==============================================================*/
/* Table: student003                                             */
/*==============================================================*/
create table student003 
(
   id                 INTEGER              not null,
   stu_name           VARCHAR2(255)        default NULL,
   stu_sex            VARCHAR2(8)          default NULL,
   stu_age            INTEGER              default NULL,
   stu_class          VARCHAR2(255)        default NULL,
   stu_address        VARCHAR2(255)        default NULL,
   stu_mother         VARCHAR2(255)        default NULL,
   stu_m_age          VARCHAR2(255)        default NULL,
   stu_m_phone        VARCHAR2(255)        default NULL,
   stu_father         VARCHAR2(255)        default NULL,
   stu_f_age          VARCHAR2(255)        default NULL,
   stu_f_phone        VARCHAR2(255)        default NULL,
   create_date        DATE                 default NULL,
   update_date        DATE                 default NULL,
   start_date         DATE                 default NULL,
   stop_date          DATE                 default NULL
);

-- 新增命令,给表命名。
COMMENT ON TABLE student003 IS '学生表';

-- 新增命令,给表添加主键。
alter table student003 add constraint pk_student003 primary key(id);


comment on column student003.id is
'主键';

comment on column student003.stu_name is
'学生姓名';

comment on column student003.stu_sex is
'性别';

comment on column student003.stu_age is
'学生年龄';

comment on column student003.stu_class is
'学生班级';

comment on column student003.stu_address is
'家庭住址';

comment on column student003.stu_mother is
'学生母亲姓名';

comment on column student003.stu_m_age is
'学生母亲年龄';

comment on column student003.stu_m_phone is
'学生母亲电话';

comment on column student003.stu_father is
'学生父亲姓名';

comment on column student003.stu_f_age is
'学生父亲年龄';

comment on column student003.stu_f_phone is
'学生父亲电话';

comment on column student003.create_date is
'创建日期';

comment on column student003.update_date is
'更新日期';

comment on column student003.start_date is
'入学时间';

comment on column student003.stop_date is
'毕业时间';

 

powerdesigner生成mysql语句_oracle创建表的sql语句

                                                                                    图14

 

powerdesigner生成mysql语句_oracle创建表的sql语句

                                                                                    图15

 

powerdesigner生成mysql语句_oracle创建表的sql语句

                                                                                    图16

 

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

 

 

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

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

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


相关推荐

  • iocomp入门教程-以MFC中iplotx为例

    iocomp入门教程-以MFC中iplotx为例最近要做一个项目需要绘制曲线,为了节省时间,就选用了iocomp控件,可网上相关的教程极少,官方给的文档还是比较详尽,但缺少具体的前期准备步骤,在初次接触这个控件很容易蒙,所以我写下这篇,给入门者以便利。用到的材料:              iocomp激活成功教程版(目前常见的为V3和V4,两个版本按喜好选择吧~            

    2022年7月17日
    12
  • 《前端运维》二、Nginx–4代理、负载均衡与其他

    一、代理服务比较容易理解吧,简单来说。客户端访问服务器并不是直接访问的,而是通过中间代理服务器,代理服务器再去访问服务器。就像一个中转站一样,无论什么,只要从客户端到服务器,你就要通过我。一)正向

    2022年3月25日
    41
  • $random 函数用法「建议收藏」

    $random 函数用法「建议收藏」$random函数调用时,返回一个32位的随机数,它是一个带符号的整形数。如下例:reg[23:0]rand;rand=$random%60;//产生一个在-59~59范围的随机数reg[23:0]rand;rand={$random}%60;//通过位拼接操作{}产生0~59范围的随机数产生一个在min,max之间随机数的例子:reg[23:…

    2022年5月31日
    52
  • session.setAttribute(“key”,value);

    session.setAttribute(“key”,value);1、session.setAttribute(“key”,value);是session设置值的方法,原理同java中的HashMap的键值对,意思也就是key现在为“user”;存放的值为userName,userName应该为一个String类型的变量吧?看你自己的定义。2、可以使用session.getAttribute(“key”);来取值,以为着你能得到userName的值。3、注意…

    2022年10月16日
    0
  • 3.7v锂电池升压电路_锂电池升压5v电路图

    3.7v锂电池升压电路_锂电池升压5v电路图三节3.7V的锂电池串联,11.1V和最大12.6V锂电池充电电路的解决方案。在应用中,一般使用低压5V,如USB口直接输入的给三串锂电池充电,还有是15V或者18V,20V输入降压给锂电池充电的两种情况。PW4053是输入5V升压充电管理芯片,PW4203是输入15V-20V降压充电三节锂电池IC5V,USB口输入,给三节锂电池12.6V充电电路:PW4053是一款5V输入,最大1.2A充电电流,支持三节锂离子电池的升压充电管理IC。PW4053集成功率MOS…

    2022年9月26日
    0
  • VSTO入门学习笔记5-数组

    VSTO入门学习笔记5-数组VSTO入门学习笔记5-数组一、数组的定义1、第一种方法,定义大小2、第二种方法,直接赋值二、数组大小三、数组遍历四、经典99乘法表一、数组的定义1、第一种方法,定义大小string[]strArr=string[3];定义了大小为3的一个字符串类型数组int[]intArr=newint[20];2、第二种方法,直接赋值int[]intArr={1,2,…

    2025年6月22日
    0

发表回复

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

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