DB2文件导入导出常见命令总结

来源:网络 责任编辑:栏目编辑 发表时间:2013-07-01 10:18 点击:
  Db2 的数据迁移,最常用的就是导入导出功能,而导入导出的命令貌似简单,实则内含玄机,千变万化,稍不留神,则错误百出,这儿就工作中常用到的命令,总结了一下,分享给大家!欢迎大家踊跃拍砖!J
    当然在这以前,我觉得有必要提及一点关于导入导出基础的知识!
    DEL:界定的ASCII文件,行分隔符和列分隔符将数据分开。
    ASC:定长的ASCII文件,行按照行分割符分开,列定长。
    PC/IXF:只能用来在db2之间导数据,根据类型数字值被打包成十进制或者二进制,字符被保存为ASCII,只保存变量已经使用了的长度,文件中包括表的定义和表的数据。
    WSF:工作表方式导入导出,这种格式的文件类型用的比较少。
    Db2中对不同的数据导入导出方式,支持不同的文件类型,这里个人觉得很有必要注意的。
    文件类型 Import export load
    -------------------------------------------------------
    定界 支持 支持 支持
    非定界 支持 不支持 支持
    Ixf 支持 支持 支持
    Wsf工作表 支持 支持 不支持
    关于3种导入导出操作进行简单的介绍:
    export:导出数据,支持IXF,DEL或WSF
    import:导入数据,可以向表中导入数据,支持上面提到的4种文件类型。
    load:导入数据,功能和import基本相同。支持以上说的几种文件类型。
    关于Export
    这个其实比较简单,没啥好说的,一般命令:export to filename of filetype select x from xx where ;就ok了,这里需要注意的是:
    1. 关于不同字符集的导出
    MODIFIED BY CODEPAGE=
    Exprot to filename.del for del MODIFIED BY CODEPAGE=1386 select … from …where …;
    这里,在数据从数据库倒出来的时候就会做一个数据库代码页的转换
    2.时间字段格式化的
    MODIFIED BY TIMESTAMPFORMAT="yyyy-mm-dd hh:mm:ss tt"
    例:Exprot to filename.del for del MODIFIED BY TIMESTAMPFORMAT="yyyy-mm-dd hh:mm:ss tt" select … from …where …;
    关于Import
    1.Import模式的介绍
    CREATE/INSERT/INSERT_UPDATE/REPLACE/REPLACE_CREATE
    CREATE :首先创建目标表和它的索引,然后将数据导入到新表中。该选项惟一支持的文件格式是 PC/IXF。还可以指定新表所在表空间的名称
    INSERT :将导入的数据插入表中。目标表必须已经存在。
    INSERT_UPDATE :将数据插入表中,或者更新表中具有匹配主键的行。目标表必须已经存在,并且定义了一个主键。
    REPLACE :删除所有已有的数据,并将导入的数据插入到一个已有的目标表中。
    REPLACE_CREATE :如果目标表已经存在,则导入实用程序删除已有的数据,并插入新的数据,就像 REPLACE 选项那样。如果目标表还没有定义,那么首先创建这个表以及它的相关索引,然后再导入数据。正如您可能想像的那样,输入文件必须是 PC/IXF 格式的文件,因为那种格式包含对导出表的结构化描述。如果目标表是被一个外键引用的一个父表,那么就不能使用 REPLACE_CREATE。
    2. 批量提交
    COMMITCOUNT,保证insert的数据在COMMITCOUNT以后进行一次commit,这对于大数据量的导入文件来说是一个不错的方法,
    例:Import from filename of del COMMITCOUNT 50000 insert into tabname;
    3. 批量插入
    MODIFIED BY COMPOUND把文件中的 COMPOUND 行记录作为一组一起导入,这个操作可以和上边的批量提交一起使用,比较理想。
    例:Import from filename of del MODIFIED BY COMPOUND =50 insert into tabname;
    4. 导入记录限制
    ROWCOUNT:只导入rowcount 条数据,有时候,业务逻辑需要只导入部分数据,那么ROWCOUNT是一个不错的选择,只是在我的测试中ROWCOUNT一直没有起过作用,呵呵,谁熟悉这里,帮我完善下。
    例:Import from filename of del ROWCOUNT 10000 insert into tabname;
    5. 导入起点<

    相关新闻>>

      发表评论
      请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
      用户名: 验证码:点击我更换图片
      最新评论 更多>>

      推荐热点

      • db2管理工具小结
      • DB2数据库的导出与导入(Windows客户端)
      • db2 CLP中如何换行
      • DB2查看表结构及所用表语句
      • DB2 · CREATE TABLESPACE
      • 使用DB2对象:创建模式、表和视图
      • DB2数据库逻辑卷的复制
      网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
      Copyright © 2008-2015 计算机技术学习交流网. 版权所有

      豫ICP备11007008号-1