String createSQL = ct.toString()
.replaceAll("`", “”")
//.replaceAll(“bigint (19)”,“int8”)
.replaceAll(“BIGINT UNIQUE NOT NULL AUTO_INCREMENT”, “BIGSERIAL PRIMARY KEY”)
.replaceAll(“BIGINT NULL AUTO_INCREMENT”, “BIGSERIAL PRIMARY KEY”)
.replaceAll(“BIGINT NOT NULL AUTO_INCREMENT”, “BIGSERIAL PRIMARY KEY”)
.replaceAll(“INT NOT NULL AUTO_INCREMENT”, “BIGSERIAL PRIMARY KEY”)
.replaceAll(“INT NULL AUTO_INCREMENT”, “BIGSERIAL PRIMARY KEY”)
//.replaceAll(“int8 NOT NULL AUTO_INCREMENT”, “BIGSERIAL PRIMARY KEY”)
.replaceAll(“IF NOT EXISTS”, “”)
.replaceAll(“TINYINT”, “SMALLINT”)
.replaceAll(“DATETIME”, “TIMESTAMP”)
.replaceAll(", PRIMARY KEY \(“id”\)", “”);

        // 如果存在表注释if (createSQL.contains("COMMENT")) {String substring = createSQL.substring(createSQL.indexOf("= '")+2);String commentSql = genCommentSql(table.toString(), substring);comments.add(commentSql);createSQL = createSQL.substring(0, createSQL.indexOf("COMMENT"));createSQL = createSQL.substring(0, createSQL.indexOf("ENGINE"));}System.out.println(createSQL + ";");comments.forEach(t -> System.out.println(t.replaceAll("`", "\"") + ";"));});
}

/**
* 获得注释的下标
*
* @param columnSpecStrings columnSpecStrings
* @return 下标
*/
private static int getCommentIndex(List columnSpecStrings) {
for (int i = 0; i < columnSpecStrings.size(); i++) {
if (“COMMENT”.equalsIgnoreCase(columnSpecStrings.get(i))) {
return i;
}
}
return -1;
}

/*** 生成COMMENT语句** @param table        表名* @param column       字段名* @param commentValue 描述文字* @return COMMENT语句*/
private static String genCommentSql(String table, String column, String commentValue) {return String.format("COMMENT ON COLUMN %s.%s IS %s", table, column, commentValue);
}/*** 生成COMMENT语句** @param table        表名* @param commentValue 描述文字* @return COMMENT语句*/
private static String genCommentSql(String table, String commentValue) {return String.format("COMMENT ON TABLE %s IS %s", table, commentValue);
}

}

【MySQL建表语句转PostgreSQL建表语句】MySQL建表语句转PostgreSQL建表语句 接上一篇相关推荐

  1. 自动获取mysql建表语句_脚本工具---自动解析mysql建表语句,生成sqlalchemy表对象声明...

    常规建表语句: CREATE TABLE `test_table` ( `id` int(11) NOT NULL, `name` char(64) NOT NULL, `password` char ...

  2. pymysql建表_Python数据库操作,针对pymysql 和 MYSQL数据库

    此文将以MYSQL数据库做为例子,pymysql库作为驱动进行学习 安装MYSQL数据库与pymysql第三方库 安装pymysql库不多做叙述 安装navicat for mysql,此程序用来管理 ...

  3. 下载好了mysql 如何在命令行测试_MAC上安装MySQL,测试是否安装好了,在命令窗中作建表、查询等基本操作。-Go语言中文社区...

    一.下载MySQL 在官方网站上下载MySQL 二.安装MySQL 下载好安装包后根据提示进行安装,需要注意的是会提示安装成功以及初始密码,初始密码后续会用到. 三.运行MySQL 打开[系统偏好设置 ...

  4. mysql导出建库语句_mysql 导出成sql,再次导入,发现没有自动建库语句是怎么回事?...

    mysqldump 有很多 选项使用的. 你想要带创建数据库的 语句的话 这样写 mysqldump -u 帐号 -p -B 数据库名 > 导出文件名 这里的 -B 就是 要带创建数据库的语句. ...

  5. mysql 系统表 存储过程_数据库系统(六)---MySQL语句及存储过程

    1.存储过程是一组为了完成某项特定功能的 SQL 语句集,其实质上就是一段存储在数据库中的代码,它可以由声明式的 SQL 语句(如 CREATE.UPDATE 和SELECT 等语句)和过程式 SQL ...

  6. mysql外键约束语句级连_mysql之外键约束(级联操作等) 父表子表

    不理解的地方标注问号. 网上不同的博客讲的,之间似乎有些矛盾,求推荐好书. 写得不好请指出错误. 父表和子表 当两个表建立一对多关系的时候,"一"的那一端是父表,"多&q ...

  7. mysql数据库从删库到跑路之mysql多表查询

    一 介绍 本节主题 多表连接查询 复合条件连接查询 子查询 准备表 company.employee company.department #建表 create table department( i ...

  8. mysql生产环境加索引_【生产篇】_MySQL环境下如何查看基于表的索引定义

    [引言] 今天中午项目组来一需求,欲在MySQL环境的某张表下创建几个BTREE索引.要创建索引,首先需要了解基表的表结构,以及已经包含的索引.Oracle的表结构大家都很熟悉,但MySQL表结构和已 ...

  9. hive导数据到mysql 自增主键出错_面试官:MySQL表设计要注意什么?

    本文公众号来源:孤独烟 作者:孤独烟 引言 这篇文章的很多问题,都是面试中实打实会问到的! 比如 OK,具体有下面这些问题 1.为什么一定要设一个主键? 2.你们主键是用自增还是UUID? 3.主键为 ...

  10. mysql 前沿表设计_史上最简单MySQL教程详解(基础篇)之表的维护和改造

    表结构修改 在我们实际的开发的过程,随着开发的深入,会发现我们事先设计好的表可能已经不再适合,就会设计到对表的修改和改造.这里我就向大家介绍一下一些常用的方法和情况.这里我们使用的是之前在中就已经使用 ...

最新文章

  1. 独家 | 教你用Scrapy建立你自己的数据集(附视频)
  2. 表格行与列边框样式处理的原理分析及实战应用
  3. CFileFind 遍历目录与子目录
  4. 实例15:python
  5. Exception in thread main java.lang.NoClassDefFoundError解决了
  6. 远程连接hive报错
  7. .NET Framework发展史
  8. 图书管理系统 ——mysql数据库
  9. python发微信图片_Python实现的微信公众号群发图片与文本消息功能实例详解
  10. 如何快速将显示未签收的单号物流归类为签收件
  11. 为什么很少有单片机机构?培训班一般多少费用?
  12. k8s实战入门——Service
  13. 谷歌浏览器后提示Adobe Flash Player因过期而遭到阻止
  14. Linux安装redis并设置开机自启以及利用小红桶连接(命令行方式)
  15. FPGA控制W5500完成UDP环回测试
  16. 110配线架打法图解_配线架打线的方法以及110配线架的按照流程
  17. v4l2 use V4L2_MEMORY_MMAP方式导出为 DMA BUF fd 方式使用
  18. CSS制作类似浏览器标题栏的圆角样式
  19. div css每行文字显示一半 同时文字字体重叠显示不全解决方法
  20. 诺基亚的驱动力:研发与产业族群

热门文章

  1. OpenCV入门教程
  2. 递归与分治策略之利用中位数线性时间选择
  3. 认知电子战 (1.2):认知理论及其在无线电领域的应用
  4. MATLAB自带的遗传算法工具箱(GADS)
  5. 量子计算机需要的基础,量子计算入门
  6. 博士德霸道软件_霸道+网络版7.0
  7. nes模拟器java版_fc模拟器java版
  8. MFC 驱动加载工具(安装/运行/停止/卸载)
  9. 一台设备驱动万物:苹果和三星即将推陈出新
  10. java是学习方程!