设为首页 收藏本站
查看: 1296|回复: 0

[经验分享] DB2的导入导出实例

[复制链接]

尚未签到

发表于 2016-11-18 09:37:25 | 显示全部楼层 |阅读模式
  原文 http://girres.blog.163.com/blog/static/129011714200982963110522/
  关于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;

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-301970-1-1.html 上篇帖子: DB2时间操作 下篇帖子: oracle (number) V.S. db2 (decimal)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表