关于数据库的备份个人见解

一、关于数据备份和还原

  1.在工作中,经常碰到生产环境上面数据库数据需要进行一些变更或者改动,这个时候呢,很多人的第一反应就是先备份整张表为一张临时表,然后就开始对表数据进行操作,如果出现数据异常,需要回退的时候,就直接删除现在表,然后把备份临时表名字改回来

2.或者直接导出表、改表、出现异常想恢复表的时候直接删除现存表,在导入原表来恢复

二、上述存在问题

如果按照上述做法,那么你表面上看起来数据并没什么改变,实际上有可能并 没有恢复表原初样子
1.表数据可能在改的过程中已经发生别的数据变动
2.表的索引都无效了
3.如果表数据大,那你这个操作风险大

三、正确的恢复操作

1.建立临时表
2.把自己需要修改的表数据,语句写出来
如果发生异常,如何从临时表里面更新回来
例子:原表testa 备份临时表为atemp

select id,username,userage,address from a where id='1234'

update a set userage='20' where id='1234'

回退:
update testa a set a.userage=(select username from atemp b where a.id=b.id) where id='1234'

这个操作才是正确的,你学费了么

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值