0
点赞
收藏
分享

微信扫一扫

oracle 快速复制表结构、表数据

1.情景展示

  根据现有的表,建一个新的表,要求:新表的结构与原有表的表结构一模一样,如何快速实现?

  根据现有的表,建一个新的表,要求:新表的结构、数据与原表一模一样,如何实现快速复制旧表?

2.解决方案

  只复制表结构

  语法:

create table newTable   as select *   from oldTable   where 1=2

oracle 快速复制表结构、表数据_表数据

  查看执行结果

oracle 快速复制表结构、表数据_表结构_02

2018/12/07

  思考:为什么能够实现只复制表结构和没有复制表数据?

那是因为查询条件:1=2,只能查出的数据为空。

oracle 快速复制表结构、表数据_ORACLE_03

  复制表结构和表数据

  语法:

create table newTable   as select *   from oldTable

oracle 快速复制表结构、表数据_表结构_04

  查看执行结果

oracle 快速复制表结构、表数据_oracle_05

3.说明 

  主键:

oracle 快速复制表结构、表数据_表数据_06

  索引:

oracle 快速复制表结构、表数据_表结构_07

  字段注释信息:

oracle 快速复制表结构、表数据_ORACLE_08

第一种方式只是第二种方式的变形而已,上面的2种方式只是单纯的完成对表结构和表数据的复制;

其余所有的信息都不会进行复制,比如:主键、唯一键、外键、索引、触发器、表注释、列注释;

字段的默认值,也不会进行复制。

2022年7月15日17:46:57

如何查看表结构(用SQL实现)?

SELECT * FROM USER_TAB_COLUMNS WHERE TABLE_NAME = '大写表名'

oracle 快速复制表结构、表数据_表结构_09

 如果表名小写的话,出来的是空数据:

oracle 快速复制表结构、表数据_oracle_10

因为Oracle对大小写敏感,当我们用'小写'扩住,表明:强制Oracle将其识别成小写字母;

这样一来,oracle当中自然没有ylt_org_info这张表。

 

写在最后

  哪位大佬如若发现文章存在纰漏之处或需要补充更多内容,欢迎留言!!!


举报

相关推荐

0 条评论