db2
關于3種導入導出操作進行簡單的介紹:
export:導出數據,支持IXF,DEL或WSF
import:導入數據,可以向表中導入數據,支持上面提到的4種文件類型。? ??
load:導入數據,功能和import基本相同。支持以上說的幾種文件類型。
?
export命令用來對db2表進行導出。export支持的數據導出的類型:del,wsf,ixf,主要使用ixf和del。最好使用ixf。
例一:普通導出。?
?? ??? ?EXPORT TO 'D:\test\org.ixf' OF IXF
??????? MESSAGES 'D:\test\org.msg'
? ?? ?? SELECT * FROM org;?
例二:改變del格式文件的格式控制符?
?? ??? ?EXPORT TO 'D:\test\org.ixf' OF DEL
???????? MODIFIED BY COLDEL$ CHARDEL'' DECPLUSBLANK
???????? MESSAGES 'D:\test\org.msg'
? ?? ??? SELECT * FROM org;?
????? 說明:在該例中,modified子句用于控制各種符號,coldel表示字段之間的間隔符,默認情況為逗號,現在改為$號;chardel表示字符串字段用什么符號引用,默認情況下為一對雙引號括起來,現在改為用一對單引號括起來。?
例三:???
?EXPORT TO 'D:\TEM\MONTH.DEL' OF DEL?
?MODIFIED BY DECPLUSBLANK STRIPLZEROS
?SELECT P.CONFERCODE,P.STORECODE,P.ORGNAME,
?CAST(P.DGDD_THRLINE_NUM AS DECIMAL(12,2)),
?CAST(P.SZXCTK_THRLINE_NUM AS DECIMAL(12,2))?
? FROM TBL_PAYMENT P;
??? 說明: decplusblank:表示對于十進制數據類型,用空格代替最前面的加號,因為默認情況下會在十進制數據前面加上正負號的
????????????? striplzeros:指定移走數據前導的0,如:+00001.8–>+1.8
例四:
?? ?EXPORT TO 'D:\TEM\MONTH.DEL' OF DEL ?
?? ?MODIFIED BY? CODEPAGE=1386 TIMESTAMPFORMAT="yyyy-mm-dd HH:mm:ss"?
?? ?select * from TEST_NOLOG ;
???? 說明:CODEPAGE : 在數據從數據庫倒出來的時候就會做一個數據庫代碼頁的轉換
?????????????? TIMESTAMPFORMAT:指定導出的日期時間格式。如果是日期類型導出,可以用modified by DATESISO 選項 來轉換,轉換后為(yyyy-mm-dd)格式,例如:
?? EXPORT TO 'D:\TEM\MONTH.DEL' OF DEL ?
?? ?MODIFIED BY?? TIMESTAMPFORMAT="yyyy-mm-dd HH:mm:ss"? DATESISO?
?? ?select signdate? ,finishtime from TEST_NOLOG ;
?
??? 其中signdate為日期類型,finishtime 為timestamp類型。
例五:包含有Lob字段類型的數據導出
????EXPORT TO D:\TEM\LOBS\MYFILE.IXF OF IXF?
??? LOBS TO D:\TEM\LOBS LOBFILE MYLOBFILE MODIFIED BY LOBSINFILE?
??? SELECT * FROM TBLANNOUNCE;
說明:導出的MYFILE.IXF只包含了Lob類型字段的指針,真正的數據放在D:\TEM\LOBS目錄下的MYLOBFILE文件里面。
導出時刪除db2表字段中的換行符
export to 'd:\tem\test.del' of del
select? p.name,p.STATER,
replace(replace(p.SUGGEST,chr(13),''),chr(10),''),p.REMARK
from? TEST p ;
其中SUGGEST字段中含有換行符,導出后就在同一行了。
imp
ort支持的數據導入的方式有:
INSERT 方式——在表中現有數據的基礎之上追加新的數據。
INSERT_UPDATE 方式——這種方式只能用于有主鍵的表,如果插入的數據與原有數據主鍵不沖突,則直接插入,如果主鍵沖突,則用新的數據代替原有數據。
REPLACE 方式——先把表中現有的數據都刪除,然后向空表中插入數據。
REPLACE_CREATE 方式——表示如果表存在,則先把表中的數據都刪除,然后向空表中插入數據;如果表不存在,則先根據文件中的字段創建表,然后再向表中插入數據。這種方式只能把IXF格式的文件中的數據插入到表中。
例一:普通導入?? ?
?? ?LOAD? FROM 'D:\tem\MONTH.DEL' OF IXF
?? ?MESSAGES 'D:\test\org.msg'
? ? INSERT INTO org
例二:對于id是由GENERATE ALWAYS 生成的導入
??? IMPORT FROM? C:\ORG2.IXF? OF IXF?
???? MODIFIED BY? IDENTITYIGNORE??
???? INSERT INTO ORG;
??
例三:對于lob字段的導入
IMPORT FROM 'D:\tem\lobs\myfile.ixf' OF IXF
?LOBS FROM 'D:\tem\lobs\'
?MODIFIED BY LOBSINFILE
?IDENTITYIGNORE
?REPLACE_CREATE INTO MYFILE;
總結
- 上一篇: linux - python
- 下一篇: leetcode 88 Merge S