當前位置:首頁 » 編程語言 » 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 命令如何撤銷刪除

不能,資料庫操作都是不能撤消的,它不會給你一個回收站

如果用其它程序來操作資料庫的話,可以在添加/修改/刪除操作時,先把原數據備份到另一表,這就是一般程序所做的備份,用以防止誤刪除