当前位置:首页 » 编程语言 » sql删除怎么撤回
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql删除怎么撤回

发布时间: 2022-12-28 04:04:34

① 如何取消已经执行的sql 语句,比如我执行了一个update,我想撤销,有什么办法

rollback;
不过这种是对于那种默认模式为 执行不提交 的那种模式,如果是 执行已提交 的话,就不知道用什么办法撤销了

② pgsql如何撤销插入数据

1.在root账户下【# su root】转到pgAdmin4文件夹下
我的pgAdmin4存储于/usr/lib/python2.7/site-packages/文件夹下:输入启动命令: python pgAdmin4.py
2.等到启动完成后,在firefox或者Linux上别的浏览器输入:localhost:5050登陆pgAdmin4。输入你的pgAdmin4设置的邮箱账号和密码,选择简体中文,登陆。
3.登陆后找到自己创建的数据库表,选择想要删除的数据。

③ sql数据库delete删除后怎么恢复

一、如果是刚刚删除,那么有两方法:
首先用show parameter undo;命令查看当时的数据库参数undo_retention设置。
显示如下:
undo_management string AUTO
undo_retention integer 10800
undo_suppress_errors boolean FALSE
undo_tablespace string UNDOTBS1
undo_retention(保持力),10800单位是秒。即3个小时。
修改默认的undo_retention参数设置:
ALTER SYSTEM SET undo_retention=10800 SCOPE=BOTH;

方法1,通过oracle提供的回闪功能:
exec dbms_flashback.enable_at_time(to_date('2007-07-23 10:21:00','yyyy-mm-dd hh24:mi:ss'));

set serveroutput on
DECLARE r_temp hr.job_history%ROWTYPE;
CURSOR c_temp IS SELECT * FROM hr.job_history;
BEGIN
OPEN c_temp;
dbms_flashback.disable;
LOOP
FETCH c_temp INTO r_temp;
EXIT WHEN c_temp%NOTFOUND;
insert into hr.job_history(EMPLOYEE_ID,JOB_ID,START_DATE,END_DATE) values (r_temp.EMPLOYEE_ID,r_temp.JOB_ID,r_temp.START_DATE,r_temp.END_DATE);
commit;
END LOOP;
CLOSE c_temp;
END;

方法2,insert into hr.job_history
select * from hr.job_history as of timestamp to_timestamp('2007-07-23 10:20:00', 'yyyy-mm-dd hh24:mi:ss');
这种方法简单,容易掌握,功能和上面的一样时间为你误操作之前的时间,最好是离误操作比较近的,因为oracle保存在回滚保持段里的数据时间有一定的时间限制由undo_retention 这个参数值决定。

二、如果是删除一段时间了,但你有比较新的数据库备份,就通过备份来恢复。新建一个库,把备份还原上去,导出表数据,再导入到现在用的库中去。

三、如果删除一段时间了,并且无备份,但是数据在写入表的时候同时会写入其它一些关联表的话,那么就尝试通过写SQL语句从其它表取数据出来insert到被删除的表中。

④ sql数据库删除了怎么恢复数据

sql
server中误删除数据的恢复本来不是件难事,从事务日志恢复即可。但是,这个恢复需要有两个前提条件:
1.
至少有一个误删除之前的数据库完全备份。
2.
数据库的恢复模式(recovery
mode)是“完整(full)”。
针对这两个前提条件,会有三种情况:
情况一、如果这两个前提条件都存在,通过sql语句只需三步就能恢复(参考文章),无需借助第三方工具。
a)
备份当前数据库的事务日志:backup
log
[数据库名]
to
disk=
n'备份文件名'
with
norecovery
b)
恢复一个误删除之前的完全备份:restore
database
[数据库名]
from
disk
=
n'完全备份文件名'
with
norecovery,
replace
c)
将数据库恢复至误删除之前的时间点:restore
log
[数据库]
from
disk
=
n'第一步的日志备份文件名'
with
stopat
=
n'误删除之前的时间点'
,
recovery
情况二、如果第1个前提条件不存在,第2个前提条件存在,需要借助第三方工具。
情况三、如果第2个前提条件不存在,无法恢复。所以,一定要将数据库恢复模式设置为“完整(full)”。
我现在面临的是第二种情况,需要找第三方工具。
开始找的是log
explorer
for
sql
server,不支持sql
server
2008。
后来找的是sql
log
rescue,也不支持sql
server
2008。
接着找到的是systools
sql
recovery,支持sql
server
2008,但需要购买,demo版并没有数据恢复功能。
最终在officerecovery.com上找到recovery
for
sql
server,虽然也是商业软件,需要购买,但demo版可以恢复数据,只要数据库文件不超过24gb。幸好朋友的数据库文件不大,用它完成了误删除数据的恢复。
下面分享一下用recovery
for
sql
server进行恢复的操作步骤:
1.
运行recovery
for
sql
server
2.
点击菜单中的
file
>
recover,选择要恢复的数据库的数据文件(.mdf)
3.
next
>
next,进入
recovery
configuration
界面,选择custom(选择了custom才可以选择从日志中恢复误删除的数据)。
4.
next
进入
recovery
options
窗口,选中
search
for
deleted
records,并选择要恢复的数据库的日志文件路径(log
file
path)。
5.
next
并选择目标文件夹(destination
folder),用于存放恢复过程中生成的sql语句与bat文件。
6.
点击start,开始恢复操作(在上一步选择的目标文件夹中生成相应的sql文件与bat文件),然后,出现
sql
server
database
creation
utility
窗口。
7.
next,选择被恢复数据存放的目标数据库。
8.
next,
选择
import
availiable
data
from
both
database
and
log
files
9.
next,
next,
然后就完成数据的恢复!

⑤ SQL-SERVER delete了.请问怎么恢复

1. 如果没有提交,可以撤回
2. 如果已经提交,则看是否有备份
3. 如果有备份,那么恢复数据库到另外的地方,然后此表恢复
4. 如果没有备份,那么没有办法的。
使用log explorer等软件也不可以
另外如何清除增删改查的日志

⑥ 在sql里面把数据库删除了怎么恢复

不同的数据库有不同的恢复方式。

  1. Oracle 11g之后有闪存回归机制,在一定的时间内可以从闪存中恢复数据。

  2. MySQL数据库则在开启了binlog日志的情况下,可以通过binlog日志恢复被删除的数据。

⑦ SQL数据库撤销删除

事务未提交且未关闭的前提下才能撤销,PLSQL在执行完Delete后,左上角会有两个按钮点亮,一个绿色向下箭头,点击提交更改,一个红色向上箭头,点击撤销删除。除此之外没有别的了。

⑧ sql数据库用语句删除表,怎么恢复

如何恢复被delete/update的数据

操作步骤

1连接到被删除数据库的Db
打开logexplorer选择"file"->"attachlogfile"->选择服务器和登陆方式->"connect"->选择"数据库"->"attach"

2查看日志
在左面操作项目的对话框中选择"browse"项目->"viewlog"->就可以看到当前的Log记录了

3恢复数据
右键某一条log记录,选择"undotransation"->"选择保存文件名和路径"->然后打开该文件到查询分析器里执行
T-sql代码就可以了


例如:如果log是deletetablewhere...的话,生成的文件代码就是inserttable....

⑨ sql sever 命令如何撤销删除

不能,数据库操作都是不能撤消的,它不会给你一个回收站

如果用其它程序来操作数据库的话,可以在添加/修改/删除操作时,先把原数据备份到另一表,这就是一般程序所做的备份,用以防止误删除