日常积累 复制备用表 和oracle数据回闪 的sql语句

一、前言:

           hello,小伙伴们大家好,在每次是利用存储过程和修改数据的时候,我们往往会害怕数据出错等情况发生,今天就来和大家分享几个实用的sql语句,来规避挥着解决这些问题。

 二、内容

   1、复制出备用表的sql语句

①复制表结构和数据到新表 注意:new_table中没有了old_table中的primary key,Extra,auto_increment等属性,需要自己手动加,具体参看后面的修改表即字段属性

 sql:create table new_table(新表名) as select * from old_table (旧表名)

 

②只复制表结构,不复制表数据到新表        

 sql:create table new_table(新表名) as select * from old_table(旧表名) where  1=2

  

③复制旧表数据到新表(新旧表的结构一样)

insert into new_table select * from old_table

 

④复制旧表数据到新表(新旧表结构不一样)    

insert into new_table(field1,field2,.....)
select field1,field2,field3 from old_table;

 

  2、数据回闪(将数据恢复到莫个具体时间点)

 ① 先查询莫个时刻数据

select * from table_name(表名) as of timestamp to_timestamp('2021-01-01 12:00' , 'yyyy-mm-dd hh24:mi:ms'

②确认数据无误后开始回闪数据

alter table table_name(表名) enable row movement;
flashback table table_name(表名) to  timestamp to_timestamp ('2021-01-01 12:00:00' ,'yyyy-mm-dd hh24:mi:ss')

 

  

 

      

 

posted @ 2021-10-11 20:53  cx330sky  阅读(48)  评论(0编辑  收藏  举报