DB2數據庫系統建表後,難免會有將表中數據清空的需求,本文將為您介紹DB2數據庫中四種數據刪除的方法,供您參考,您可以根據實際情況來進行選擇,希望能對有所幫助。
1. 使用 DELETE 語句,即:
DELETE FROM <表名>
該語句將清除表中所有數據,但由於這一操作會記日志,因此執行速度會相對慢一些,另外要注意的是,如果表較大,為保證刪除操作的成功,應考慮是否留有足夠大的日志空間。
2. 使用 NOT LOGGED INITIALLY 選項,即:
ALTER TABLE <表名> ACTIVATE NOT LOGGED INITIALLY WITH EMPTY TABLE
這一方法僅在所操作的表在創建時選擇了 NOT LOGGED INITIALLY 選項進行定義後才可使用。整個刪除操作將不會記日志,因此執行速度是幾種方法中最快的一種,但刪除的數據是不可恢復的。
3. 使用 IMPORT 或 LOAD 命令,即:
IMPORT FROM /dev/null OF DEL REPLACE INTO <表名> --(Unix 系統)
或 IMPORT FROM <空文件> OF DEL REPLACE INTO <表名>
LOAD FROM /dev/null OF DEL REPLACE INTO <表名> NONRECOVERABLE --(Unix 系統)
或 LOAD FROM <空文件> OF DEL REPLACE INTO <表名> NONRECOVERABLE
在這一方法中,REPLACE 導入方式首先會將表中所有數據清空,然後 IMPORT/LOAD 又向表中導入了空數據,從而實現了數據的清除操作。
4. 使用 DROP/CREATE TABLE 語句,即:
DROP TABLE <表名>
CREATE TABLE <表名> <字段的定義>
如果保存有表的定義語句,或已利用 DB2LOOK 命令獲得了表定義的腳本,也可先刪除整個表,再重新創建表。如果表較大,用這種方法實現數據清空的速度會快於方法一。
如果要實現truncate table的效果,就用IMPORT FROM 空文件的方法,用其它方法都不好。