先上代码:

select  --t1.table_name,case when t1.COLUMN_ID <> 1 then '   ,'||lower(t1.COLUMN_NAME)||'  ' else 'create table  ' || t1.table_name || ' ( ' ||lower(t1.COLUMN_NAME)||'  ' end||casewhen t1.DATA_TYPE like '%VARCHAR%' then 'VARCHAR'when t1.DATA_TYPE like '%DATE%' then 'DATETIME'when t1.DATA_TYPE like '%NUMBER%' then 'INT'when t1.DATA_TYPE like '%TIMESTAMP%' then 'TIMESTAMP'else '无法识别的类型' end|| ' ( '||t1.data_length||' )'||'null comment '||''''||t2.comments||'''' || case when t1.COLUMN_ID=t3.COLUMN_ID then ')'||'comment' || ''''||t3.comments || ''' ;' end as txtfrom all_tab_columns t1left join all_col_comments t2on t1.owner = t2.ownerand t1.table_name = t2.table_nameand t1.column_name = t2.column_nameleft join (select max(COLUMN_ID) COLUMN_ID ,a.owner, b.table_name,comments from  all_tab_columns aleft join all_tab_comments b on a.owner = b.owner and a.table_name = b.table_namegroup by a.owner, b.table_name,comments )t3on t1.owner = t3.ownerand t1.table_name = t3.table_namewhere t1.table_name in ('TABLE_NAME1','TABLE_NAME2','TABLE_NAME3')and t1.owner = upper('db_name')order by t1.table_name,t1.column_id;

解释一下,这个sql主要是通过 all_tab_columnsall_col_comments两个数据字典,获取对应的表名、列表、类型、长度、注释,转换成mysqlDDL语句。

此代码没有进行主键判断,因为在我的工作中已经够用了,各位如果要转换的表很多那就得关联上user_constraints数据字典了

代码复制下来就能用,把table_name,和db_name换成要转换的表面和库名就行。注意表名大小写

oracle表转换mysql建表语句相关推荐

  1. hive建表与mysql建表的区别

    现在大数据时代我们一般企业里都会将数据存储在hadoop这样的分布式系统里,我们可以编写hive-sql对数据进行分析,但是一般的业务系统是基于mysql这样的关系型数据库来进行可视化的,所以将hiv ...

  2. excel转换mysql建表_把 excel 和 mysq l数据库相互转换

    不用代码轻松搞定,参考http://jingyan.baidu.com/article/fc07f9891cb56412ffe5199a.html 1.excel 转 mysql a.首先确认你的数据 ...

  3. 基于表的数据字典构造MySQL建表语句

    表的数据字典格式如下: 如果手动写MySQL建表语句,确认麻烦,还不能保证书写一定正确. 写了个Perl脚本,可快速构造MySQL脚本语句. 脚本如下: #!/usr/bin/perl use str ...

  4. oracle数据表转换为mysql数据表

    oracle数据表转换为mysql数据表,或者反过来,我们可以借助navica的工具 1.打开navicat的工具->数据传输 2.选择源数据库以及目标数据库 目标可以选择数据库也可以选择文件, ...

  5. mysql 建表 日期格式_MySQL建表时,日期时间类型选择

    MySQL(5.5)所支持的日期时间类型有:DATETIME. TIMESTAMP.DATE.TIME.YEAR. 几种类型比较如下: 日期时间类型 占用空间 日期格式 最小值 最大值 零值表示 DA ...

  6. Mysql建表脚本转ClickHouse建表脚本

    MySql建表脚本转CK 前置知识 主要是类型的转换.和空.非空的问题 整形 ClickHouse则直接使用Int8.Int16.Int32和Int64指代4种大小的Int类型,其末尾的数字正好表明了 ...

  7. mysql建表 外键_mysql建表外键怎么设

    mysql建表外键怎么设 mysql建表时设置外键的方法:在"CREATE TABLE"语句中,通过"[CONSTRAINT ] FOREIGN KEY 字段名 [,字段 ...

  8. 微服务springCloud 项目实战 创建数据库表规约及建表语句

    # 创建数据库表规约及建表语句 1.建表规约 **[强制]**表达是与否概念的字段,必须使用is_xxx的方式命名,数据类型是tinyint(1) ( 1表示是,0表示否). 说明:任何字段如果为非负 ...

  9. mysql建表2个索引是啥意思_Mysql建表与索引使用规范详解

    本篇文章是对Mysql建表和索引使用规范进行了详细的分析介绍,需要的朋友参考下 一. MySQL建表,字段需设置为非空,需设置字段默认值. 二. MySQL建表,字段需NULL时,需设置字段默认值,默 ...

  10. mysql 建表时建立索引_mysql 分享建表和索引的几点规范

    一. MySQL建表,字段需设置为非空,需设置字段默认值. 二. MySQL建表,字段需NULL时,需设置字段默认值,默认值不为NULL. 三. MySQL建表,如果字段等价于外键,应在该字段加索引. ...

最新文章

  1. php单例模式实现对象只被创建一次 mysql单例操作类
  2. Effective C++ --2 构造/析构/赋值运算
  3. css select-style属性,beautifulsoupcss Select查找不存在特定属性(style for ex)的标记
  4. 【NLP】【七】fasttext源码解析
  5. Python-属性(property)
  6. 小型校园网络拓扑RS配置
  7. kubectl 创建pvc_k8s的持久化存储PVPVC
  8. 赋值语句 变量的地址相关 : RUNOOB python练习题7
  9. Taro+react开发(32)注意符号
  10. python 根据文件夹大小删除修改时间比较早的文件
  11. MATLAB学习笔记(十七)
  12. js判断客户浏览器类型,版本
  13. LinuxISO镜像挂载
  14. 趣味运动会项目及规则
  15. 古月学院《如何在Gazebo中实现阿克曼转向车的仿真》课程资料在ROS Noetic版本中运行时的常见错误及解决方法
  16. IDEA TODO标签使用
  17. html/css移动界面侧滑效果
  18. java获取useragent_Java获取访问者的userAgent,系统和浏览器版本
  19. python如何设置搜狗输入法中英文切换_2020秋季报告:手机输入法AI时代来临,百度输入法优势明显...
  20. 简洁的安卓软件下载页源码

热门文章

  1. MCUISP FlyMCU 下载bin或Hex文件提示 程序文件不是0x8000000和0x20000000区域
  2. 2021-07-20 计算两个日期间的工作日天数VBA函数
  3. 之前做设计收集的部分网站
  4. 机房计算机配置思维导图,运用思维导图培养高中学生信息技术学科核心素养
  5. 于仕琪的人脸检测算法
  6. 我为中国火星第一图做鱼眼矫正
  7. ios、android、h5、小程序等安卓苹果平台终端兼容问题
  8. .net反混淆脱壳工具de4dot的使用
  9. mysql同音字搜索_React-Native 给客户端来个「同音词模糊搜索」
  10. Vb如何设计编程计算机,vb程序设计论文