DB2刪除大量資料.匯出區間資料與匯入CSV

  • 378
  • 0
  • 2020-04-14

DB2刪除大量資料.匯出區間資料與匯入CSV

說明:

1.先將你想保留的資料匯出成 IXF 檔案

2.將你匯出的 IXF 檔案當作來源檔匯回

EXAMPLE1: (刪除所有資料表內的資料)

1.EXPORT TO TABLE1.IXF OF IXF SELECT * FROM TABLE1 WHERE 1=2

2.LOAD FROM TABLE1.IXF OF IXF REPLACE INTO TABLE1

上述的 EXPORT 語法匯出的資料筆數為 0,所以當我們將匯出的 TABLE1.IXF 作為來源檔匯回時,TABLE1 中所有的資料列都會被清除,利用這樣的方式就可以將資料表內的所有資料全部刪除。

EXAMPLE2: (保留特定資料,刪除其餘資料)

只保留20180101到20190225之間的資料,其餘刪除

EXPORT TO CARD_LOG.IXF OF IXF SELECT * FROM CARD_LOG where 
varchar_format(LOG_DT,'YYYYMMDD') between '20180101' and '20190225' ;

LOAD FROM CARD_LOG.IXF OF IXF REPLACE INTO CARD_LOG;

------------------------------------------------------------------------------------------------

將20170101到20170630資料匯入至CSV檔做為備份

EXPORT TO D:\20170101-20170630.csv OF del SELECT * FROM ADMINISTRATOR.CARD_LOG
 where varchar_format(LOG_DT,'YYYYMMDD') between '20170101' and '20170630' ;

-------------------------------------------------------------------------------------------------------

匯入某區間檔案

IMPORT FROM 'c:/datafile/jobfile.csv' OF DEL INSERT INTO job;