zoukankan      html  css  js  c++  java
  • db2删除表中数据

    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 空文件的方法,用其它方法都不好。

  • 相关阅读:
    Redis面试题 总结
    C++ 自由存储区是否等价于堆?(转)
    线程同步方式
    epoll的原理 (一)(转)
    C/C++ 中 volatile 关键字详解(转)
    Linux堆内存管理
    找出数组中出现次数超过一半的数
    剑指offer-复杂链表的复制
    已知二叉树前序中序遍历重建二叉树
    Linux常用命令
  • 原文地址:https://www.cnblogs.com/xiaojianblogs/p/6877762.html
Copyright © 2011-2022 走看看