对于使用 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 空文件的方法,用其它方法都不好。
分享到:
相关推荐
db2清空表数据
然后通过import命令import from empty.del of del replace into [table_name]来清空表中的数据并 重组表空间。 效率很快 第⼆种: 在建表时加选项not logged initially ,当清空表时通过alter table [name] activate...
清空SQL Server数据库中所有表数据的方法(有约束的情况) 其实删除数据库中数据的方法并不复杂,为什么我还要多此一举呢,一是我这里介绍的是删除数据库的所有数据,因为数据之间可能形成相互约束关系,删除操作...
清空整个数据库表数据
SQL--清空所有表的数据,仅供大家参考也
清空业务表数据SQL.txt --挂号数据------------------------- DELETE CLINIC_INDEX; DELETE CLINIC_MASTER; DELETE CLINIC_SCHEDULE; DELETE CLINIC_FOR_REGIST; DELETE CLINIC_APPOINTS; DELETE CLINIC_PAYMENTS_...
MySQL删除表数据 MySQL清空表命令 3种方法。 一篇文章带你快速了解!
ArcEngine数据删除几种方法和性能比较
利用SQL语句清空数据表.rar利用SQL语句清空数据表.rar
SQL-2008 清空数据库所有数据.sql 清空数据库内所有表数据 并且ID种子变成1
清空表中的数据.zip源码Delphi项目程序源码下载清空表中的数据.zip源码Delphi项目程序源码下载 1.合个人学习技术做项目参考 2.适合学生做毕业设计参考 3.上线产品适合小公司开发项目参考
清空数据库中所有数据,修改后可实现哪个表的数据留下。
安装文档操作即可完成数据压缩和日志数据的清空
主要介绍了oracle清空所有表数据,需要的朋友可以参考下
DB2的日志清理工作,db2 list history archive log all for CISFEDB 查看归档时间戳以及归档日志个数,Number of matching file entries = 6 表示有效日志个数 5.1、db2 force application all 停连接会话
这段代码包括php连接数据库,通过代码来对表操作,简单做了个清空表
SQL清空所有表语句,有需要的可以下载。
清空MS-SQLSERVER指定表的数据,可以多选资料表并且可以恢复清空的数据。
oracle批量清空表数据sql脚本