DB2的导入导出实例

简介: 原文 http://girres.blog.163.com/blog/static/129011714200982963110522/ 关于3种导入导出操作进行简单的介绍:export:导出数据,支持IXF,DEL或WSFimport:导入数据,可以向表中导入数据,支持上面提到的4种文件类型。

原文 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;

目录
相关文章
|
9天前
|
关系型数据库 网络安全 数据库
安装db2数据库
安装db2数据库
11 0
|
11月前
|
SQL 关系型数据库 数据库
Windows服务器DB2数据库建库过程演示,db2创建表空间、分配权限
Windows服务器DB2数据库建库过程演示,db2创建表空间、分配权限
296 0
|
SQL Oracle 关系型数据库
如何快速批量导入非Oracle DB格式的数据--sqlloader
在 Oracle 数据库中,我们通常在不同数据库的表间记录进行复制或迁移时会用以下几种方法
283 0
如何快速批量导入非Oracle DB格式的数据--sqlloader
|
SQL Oracle 关系型数据库
sql developer Oracle 数据库 用户对象下表及表结构的导入导出
Oracle数据库表数据及结构的导入导出   导出的主机与即将导入到的目标主机的tablespace 及用户名需一直!!!!!  
1894 0
|
关系型数据库 MySQL 数据库
MySQL示例数据库sakila-db的安装导入
MySQL示例数据库sakila-db的安装导入 下载:https://dev.mysql.com/doc/index-other.html   或  http://downloads.
1354 0
|
SQL 关系型数据库 数据库
|
存储 SQL 关系型数据库