powerDesigner 导出mysql的sql脚本,且包含注释

为了和项目原有的数据库设计工具保持一致,近期使用了powerDesigner碰到了一些使用问题,汇总记录,希望对你有所帮助.

软件环境情况

  1. powerDesigner16.5.5.2(4734)
  2. mysql 5.6.30
  3. Win10专业版

powerdesigner 16.5 生成的sql语句在mysql数据库无法成功执行

用pd导出的sql,默认无法正常执行会报错

[Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'comment on table TB_PAYOUT_APPLY_UNIQUE is
'结汇申请防重表'' at line 1

默认导出的sql为:

# 为了减少篇幅,减少了部分字段注释
create table TB_PAYOUT_APPLY_UNIQUE
(SRC_MERCHANT_ID      varchar(32)                    not null,MER_ORDER_NO         varchar(64)                    not null,UNION_TIME           datetime                       not null,PAYOUT_SEQNO         varchar(64)                    not null,GMT_CREATE           datetime                       null
);comment on table TB_PAYOUT_APPLY_UNIQUE is
'结汇申请防重表';comment on column TB_PAYOUT_APPLY_UNIQUE.SRC_MERCHANT_ID is
'交易来源商户号';
create index TB_PAYOUT_UNIQUE_IDX on TB_PAYOUT_APPLY_UNIQUE (
PAYOUT_SEQNO ASC
);

comment on column TB_PAYOUT_APPLY_UNIQUE.MER_ORDER_NO is '外部订单号'; 在mysql下是无法直接执行

mysql的单字段修改,使用alter table方法

ALTER TABLE table_name MODIFY COLUMN column_name TINYINT(tinyint表示column类型) COMMENT '-1:默认值,1:人员id,2:公司id';

这种写法必须要指定 字段类型:TINYINT(tinyint表示column类型)否则会报错.

那么需要修改sql的注释修改.

  1. 列注释修改

    1. 在Database–>edit Current DBMS… 设置dbms的属性,找到script–>objects–>column–>add

    2. 在原来的内容后添加 [ comment %.q:COMMENT%]]注意去掉一个]

      原来的内容为: %20:COLUMN% [%National%?national ]%DATATYPE%[%Unsigned%? unsigned][%ZeroFill%? zerofill][ [.O:[character set][charset]] %CharSet%][.Z:[ %NOTNULL%][%IDENTITY%? auto_increment:[ default %DEFAULT%]][ comment %.q:@OBJTLABL%]]

      添加后的内容为:%20:COLUMN% %30:DATATYPE%[.Z:[%Compressed%? compressed][ %NULLNOTNULL%][%IDENTITY%?[.O:[ default autoincrement][ identity]]:[%COMPUTE%? compute (%COMPUTE%):[ default %DEFAULT%]]] [%CONSTDEFN%][ comment %.q:COMMENT%]]

    3. 把script–>objects–>column–>ColumnComment的Value清空 .

  2. 表注释修改

    1. 在Database–>edit Current DBMS… 设置dbms的属性

    2. 找到script–>objects–>Table–>TableComment: value中

      修改后内容为 :alter table [%QUALIFIER%]%TABLE% comment %.60qA:COMMENT%

  3. 去掉主键注释

    1. 在Database–>edit Current DBMS… 设置dbms的属性,找到script–>objects–>Pkey–>PKeyComment 清空Value值, 如需要注释则修改其格式

其它修改

  1. 调整导出sql的编码格式

    database–>Generate Database–>Format Encoding :UTF-8 点击确定

调整后的sql

create table TB_OCEAN_PAYOUT_BILL_RELATION
(SRC_MERCHANT_ID      varchar(32)                    not null  comment '交易来源商户号',MER_ORDER_NO         varchar(64)                    not null  comment '外部订单号',PAYOUT_SEQNO         varchar(64)                    not null  comment '结汇交易流水号',OCEAN_PAY_BILL_NO    numeric(16,0)                  null  comment '跨境支付单号',DT_CREATE            datetime                       null,constraint PK_TB_OCEAN_PAYOUT_BILL_RELATI primary key clustered (SRC_MERCHANT_ID, MER_ORDER_NO)
);alter table TB_OCEAN_PAYOUT_BILL_RELATION comment '结汇申请支付单关联表';

PowerDesigner如何导出SQL?

第一种方式,导出多条:

  1. 选择菜单栏上Database
  2. 更改当前数据库类型>>Change Current DBMS 按钮
  3. 将当前的DBMS更改成需要的DBMS(如果用的就是当前的mysql5.0就无需更换)
  4. 选择Database菜单栏下 >>Generate Database
  5. 设置导出.sql名字和路径.
  1. 更改当前数据库类型>>Change Current DBMS 按钮

  1. 将当前的DBMS更改成需要的DBMS(如果用的就是当前的mysql5.0就无需更换)

  1. 也可以选择需要导出的表 Generate Database-> Selection

第二种,导出单表:

  1. 选中表

  2. 右键选择 sql Preview,如下图所示

其它pd使用的一些方式

  1. PowerDesigner 导出表结构 到Excel
  2. powerdesigner 为字段添加注释和最大、最小、默认值、非空约束
  3. powerdesigner 大小写转换

参考文档

MySql 修改列的注释信息的方法
powerDesigner 正向工程生成sql注释问题 (mysql注释问题)

如果觉得文章对您有用,可以关注我的公众号 程序和猫 , 更加方便的交流.

powerDesigner 导出mysql的sql脚本,且包含注释相关推荐

  1. MySQL导入sql脚本中文乱码设置和常用命令

    MySQL导入sql脚本中文乱码设置和常用命令 1. use database_name;  2. set names utf8; (或其他需要的编码)  3. source example.sql ...

  2. powerdesigner导出mysql数据库表结构到Word

    powerdesigner导出mysql数据库表结构到Word 需求场景 将SQL导入PowerDesigner中生成模型 创建导出的word模版 需求场景 将数据库表导结构出为word文档: 将SQ ...

  3. linux里docker镜像mysql运行sql脚本时出现Failed to open file ‘/home/mydatabase.sql‘, error: 2的解决

    linux里docker镜像mysql运行sql脚本时出现Failed to open file '/home/mydatabase.sql', error: 2的解决 此文章的前提是已经把sql文件 ...

  4. mysql数据库重启、登录mysql数据库、通过命令执行mysql的sql脚本等命令

    一.mysql数据库重启 如何重启mysql Debian / Ubuntu Linux 1.启动:/etc/init.d/mysql start 2.停止:/etc/init.d/mysql sto ...

  5. PLSQL导出和导入sql脚本

    PLSQL导出和导入sql脚本 1.打开命令行窗口 2.输入@ 3.回车并修改文件类型,然后选择要导入的文件 4.等待结果 导出 不知你是否遇到过,别人导出的sql脚本,导入时plsql扛不住,直接一 ...

  6. 如何用Java程序删除sql脚本中的注释

    package com.wxq.study.utils; /* 本文借鉴了 ITeye 作者:53873039oycg Java简单应用之去除SQL文件注释 https://www.iteye.com ...

  7. powerdesigner导出mysql脚本,PowerDesigner导出SQL的方法

    PowerDesigner是一款非常实用的数据库管理软件,它可以从物理和概念两个层面设计数据库,方便用户制作处清晰直观的数据流程图和结构模型:而且PowerDesigner还可以和NET.Eclips ...

  8. PowerDesigner如何导出建表sql脚本(转)

    1 按照数据库类型,切换数据库. Database-> Change Current DBMS... 2 生成sql脚本 Database -> Database Generation 的 ...

  9. mysql读取sql脚本_Pandas直接读取sql脚本的方法

    之前有群友反应同事给了他一个几百MB的sql脚本,导入数据库再从数据库读取数据有点慢,想了解下有没有可以直接读取sql脚本到pandas的方法. 解析sql脚本文本文件替换成csv格式并加载 我考虑了 ...

最新文章

  1. BZOJ 2440: [中山市选2011]完全平方数 [容斥原理 莫比乌斯函数]
  2. 【Java VisualVM】使用 VisualVM 进行性能分析及调优
  3. 打造轻量化的View Controller
  4. static方法与非static方法是否可以互相调用
  5. [ARM异常]-异常进入和异常退出时的arm core的硬件自动的行为
  6. 涨知识 | 100个中国最难读的地名,第一个就折了
  7. tomcat没有错,但是还是一闪而过(端口被占用)
  8. 【转】ABP源码分析十七:DTO 自动校验的实现
  9. SQL调用C# dll(第一中DLL,没使用强名称密匙,默认是 safe)
  10. 方法区元空间实现之jdk7和8字符串常量池、运行时常量池、静态变量到底在哪?
  11. 《vue2.0基础系列》目录大全,你要的都在这里
  12. 高质量的工程代码为什么难写
  13. 7、Fiddler的HTTP统计视图
  14. c:forTokens
  15. 新浪微盘等大批网盘将关停 你的私藏文件导出来了吗?
  16. 【官方方法】ROS源
  17. java高级工程师面试题_java高级工程师面试题及答案解析
  18. 学计算机连系统都不会装,Win7系统安装不了iTunes该如何解决-电脑自学网
  19. 关系数据库的三大范式以及BCNF范式
  20. CSP-J (初中级别比赛)初赛总结

热门文章

  1. 2008春晚诗朗诵《心里话》之程序员版(转)
  2. Ubuntu(Linux)下创建快捷方式
  3. 有1、2、3、4四个数字,能组成多少个互不相同且一个数字中无重复数字的三位数?
  4. 关于什么时候用assert(断言)的思考
  5. 职场 | 阿里P9谈程序员的“青春饭”
  6. c语言单链表的基本操作
  7. 苹果重视中国市场恶补“中国话”
  8. HDU - 3081 Marriage Match II 【二分匹配】
  9. java json循环引用_填坑,解决json对象循环引用,在复杂案例中的应用
  10. 三角形一点到三边距离最小_三角形内部一点到三边距离之和的上界与下界