oracle 快速复制表结构、表数据
1.情景展示
根据现有的表,建一个新的表,要求:新表的结构与原有表的表结构一模一样,如何快速实现?
根据现有的表,建一个新的表,要求:新表的结构、数据与原表一模一样,如何实现快速复制旧表?
2.解决方案
只复制表结构
语法:
create table newTable as select * from oldTable where 1=2
查看执行结果
2018/12/07
思考:为什么能够实现只复制表结构和没有复制表数据?
那是因为查询条件:1=2,只能查出的数据为空。
复制表结构和表数据
语法:
create table newTable as select * from oldTable
查看执行结果
3.说明
主键:
索引:
字段注释信息:
第一种方式只是第二种方式的变形而已,上面的2种方式只是单纯的完成对表结构和表数据的复制;
其余所有的信息都不会进行复制,比如:主键、唯一键、外键、索引、触发器、表注释、列注释;
字段的默认值,也不会进行复制。
2022年7月15日17:46:57
如何查看表结构(用SQL实现)?
SELECT * FROM USER_TAB_COLUMNS WHERE TABLE_NAME = '大写表名'
如果表名小写的话,出来的是空数据:
因为Oracle对大小写敏感,当我们用'小写'扩住,表明:强制Oracle将其识别成小写字母;
这样一来,oracle当中自然没有ylt_org_info这张表。
本文来自博客园,作者:Marydon,转载请注明原文链接:https://www.cnblogs.com/Marydon20170307/p/10008762.html