开发测试过程中数据库现场恢复处理
在开发调试过程中,需要频繁去清理、修改业务过程中涉及到的很多表数据,为方便快捷恢复数据,可参考以下方式对数据库现场备份处理。
步骤:
1、测试前备份数据到临时表
2、测试过程中随时通过备份进行恢复现场
3、测试完成后删除临时表(测试完成后及时清理临时表,否则临时表过多对数据库备份造成额外压力)
需要用到的sql介绍:
复制表结构和数据到新表(自动创建tab_new)
oracle:
1、既复制表结构也复制表内容的SQL语句:
CREATE TABLE tab_new AS SELECT * FROM tab_old;
2、只复制表结构不复制表内容的SQL语句:
CREATE TABLE tab_new AS SELECT * FROM tab_old WHERE 1=2;
3、不复制表结构,只复制内容的sql语句:
SELECT vale1, value2 into Table2 from Table1
mssql:
select * into tablenew from tableold
B表数据复制到A表(两个表都已存在且结构相同)
insert into tableA select * from tableB;
清空表数据(与delete有区别)
TRUNCATE table xxx;
删除表
drop table xxx;
以下用MSSQL数据库为例
备份现场数据(备份表只包含结构和数据,不包含表属性如注释、外键、索引等):
1 | select * into batch_detail_copy_shth0130 FROM batch_detail; |
测试过程恢复现场
1 2 | TRUNCATE table batch_detail; insert into batch_detail select * from batch_detail_copy_shth0130; |
测试完成后删除临时表
1 | drop table batch_detail_copy_shth0130; |
Comments are currently closed.