在SQL Server中使用SQL语句备份单表-造数据-还原表
之前在网上看到使用sql语句进行单表的备份和还原的,但是好像是针对Oracle数据库的。我们现在项目上使用的是SQL Server数据库。就想能否也可以使用这种方式。
参考:在Oracle中使用SQL语句备份单表-造数据-还原表
按照网上的SQL语句,修改可以用于SQL Server数据库,需要的可以测试下:
--不影响日后工作的造数据步骤: --1、备份表内的内容, --2、清表内内容, --3、给表造数据, --4、还原表 --5、检查还原后的两表数据是否相同 ------------------------------------------------------------ --1、备份表内的内容, --select * into tb_bak from tb Where [条件1,条件2]; --tb 原数据表 --tb_bak 要备份的新表名 --若只需要表头不需要表数据的话,加上条件 select * into tb_bak from tb where 1=0; --若要向已经存在的表中备份数据库,使用 insert into 目标表名 select * from 源表名; select * into dbo.t_scs_0304 from dbo.t_scs; ------------------------------------------------------------ --2、清表内内容, --delete <表名>; --删掉一整个表内的数据 --若只删除部分表数据的话,加上条件 delete <表名> where 字段1=字段值; delete dbo.t_scs; ------------------------------------------------------------ --3、给表造数据, declare @num int, @inTime datetime set @num =1 set @inTime = SYSDATETIME() while(@num<5) begin insert t_scs (scs_Name,scs_DateTime) values('王麻子'+ cast(@num as varchar),@inTime) set @num = @num+1 set @inTime = DATEADD(mi,1,@inTime) end ------------------------------------------------------------ --4、还原表 --清空现有表中的数据 delete dbo.t_scs --把备份表中的数据复制到原表去 --方法一:使用 insert into 目标表 select * from 源表对数据恢复 --若目标表有使用自增id作为主键的,需要设置 set IDENTITY_INSERT dbo.t_scs on 和 set IDENTITY_INSERT dbo.t_scs off --方法二:根据表的主键更新记录,更新效率高:update table1 set field1=table2.field1,field2=table2.field2 from table2 where table1.id=table2.id set IDENTITY_INSERT dbo.t_scs on insert into dbo.t_scs (id,scs_Name,scs_DateTime) select * from dbo.t_scs_0304; set IDENTITY_INSERT dbo.t_scs off ------------------------------------------------------------ --5、检查数据是否相同 --如果数据量比较少的话,那么你可以直接自己对比两表,查看数据是否相同; --也可以使用 intersect和except 语句进行检查 --查询出两表的相同数据 select * from t_scs intersect select * from t_scs_0304; --查询出两表不同的数据 select * from t_scs except select * from t_scs_0304; --把备份的表删掉。 drop table t_scs_0304
关注我】。(●'◡'●)
如果,您希望更容易地发现我的新博客,不妨点击一下绿色通道的【因为,我的写作热情也离不开您的肯定与支持,感谢您的阅读,我是【Jack_孟】!
本文来自博客园,作者:jack_Meng,转载请注明原文链接:https://www.cnblogs.com/mq0036/p/12410595.html
【免责声明】本文来自源于网络,如涉及版权或侵权问题,请及时联系我们,我们将第一时间删除或更改!
posted on 2020-03-04 17:07 jack_Meng 阅读(7724) 评论(0) 编辑 收藏 举报