db2
關(guān)于3種導(dǎo)入導(dǎo)出操作進(jìn)行簡(jiǎn)單的介紹:
export:導(dǎo)出數(shù)據(jù),支持IXF,DEL或WSF
import:導(dǎo)入數(shù)據(jù),可以向表中導(dǎo)入數(shù)據(jù),支持上面提到的4種文件類型。? ??
load:導(dǎo)入數(shù)據(jù),功能和import基本相同。支持以上說(shuō)的幾種文件類型。
?
export命令用來(lái)對(duì)db2表進(jìn)行導(dǎo)出。export支持的數(shù)據(jù)導(dǎo)出的類型:del,wsf,ixf,主要使用ixf和del。最好使用ixf。
例一:普通導(dǎo)出。?
?? ??? ?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;?
????? 說(shuō)明:在該例中,modified子句用于控制各種符號(hào),coldel表示字段之間的間隔符,默認(rèn)情況為逗號(hào),現(xiàn)在改為$號(hào);chardel表示字符串字段用什么符號(hào)引用,默認(rèn)情況下為一對(duì)雙引號(hào)括起來(lái),現(xiàn)在改為用一對(duì)單引號(hào)括起來(lái)。?
例三:???
?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;
??? 說(shuō)明: decplusblank:表示對(duì)于十進(jìn)制數(shù)據(jù)類型,用空格代替最前面的加號(hào),因?yàn)槟J(rèn)情況下會(huì)在十進(jìn)制數(shù)據(jù)前面加上正負(fù)號(hào)的
????????????? striplzeros:指定移走數(shù)據(jù)前導(dǎo)的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 ;
???? 說(shuō)明:CODEPAGE : 在數(shù)據(jù)從數(shù)據(jù)庫(kù)倒出來(lái)的時(shí)候就會(huì)做一個(gè)數(shù)據(jù)庫(kù)代碼頁(yè)的轉(zhuǎn)換
?????????????? TIMESTAMPFORMAT:指定導(dǎo)出的日期時(shí)間格式。如果是日期類型導(dǎo)出,可以用modified by DATESISO 選項(xiàng) 來(lái)轉(zhuǎn)換,轉(zhuǎn)換后為(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字段類型的數(shù)據(jù)導(dǎo)出
????EXPORT TO D:\TEM\LOBS\MYFILE.IXF OF IXF?
??? LOBS TO D:\TEM\LOBS LOBFILE MYLOBFILE MODIFIED BY LOBSINFILE?
??? SELECT * FROM TBLANNOUNCE;
說(shuō)明:導(dǎo)出的MYFILE.IXF只包含了Lob類型字段的指針,真正的數(shù)據(jù)放在D:\TEM\LOBS目錄下的MYLOBFILE文件里面。
導(dǎo)出時(shí)刪除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字段中含有換行符,導(dǎo)出后就在同一行了。
imp
ort支持的數(shù)據(jù)導(dǎo)入的方式有:
INSERT 方式——在表中現(xiàn)有數(shù)據(jù)的基礎(chǔ)之上追加新的數(shù)據(jù)。
INSERT_UPDATE 方式——這種方式只能用于有主鍵的表,如果插入的數(shù)據(jù)與原有數(shù)據(jù)主鍵不沖突,則直接插入,如果主鍵沖突,則用新的數(shù)據(jù)代替原有數(shù)據(jù)。
REPLACE 方式——先把表中現(xiàn)有的數(shù)據(jù)都刪除,然后向空表中插入數(shù)據(jù)。
REPLACE_CREATE 方式——表示如果表存在,則先把表中的數(shù)據(jù)都刪除,然后向空表中插入數(shù)據(jù);如果表不存在,則先根據(jù)文件中的字段創(chuàng)建表,然后再向表中插入數(shù)據(jù)。這種方式只能把IXF格式的文件中的數(shù)據(jù)插入到表中。
例一:普通導(dǎo)入?? ?
?? ?LOAD? FROM 'D:\tem\MONTH.DEL' OF IXF
?? ?MESSAGES 'D:\test\org.msg'
? ? INSERT INTO org
例二:對(duì)于id是由GENERATE ALWAYS 生成的導(dǎo)入
??? IMPORT FROM? C:\ORG2.IXF? OF IXF?
???? MODIFIED BY? IDENTITYIGNORE??
???? INSERT INTO ORG;
??
例三:對(duì)于lob字段的導(dǎo)入
IMPORT FROM 'D:\tem\lobs\myfile.ixf' OF IXF
?LOBS FROM 'D:\tem\lobs\'
?MODIFIED BY LOBSINFILE
?IDENTITYIGNORE
?REPLACE_CREATE INTO MYFILE;
總結(jié)
- 上一篇: linux - python
- 下一篇: 中国联通豪掷159.2亿元采购服务器:联