当然在这以前,我觉得有必要提及一点关于导入导出基础的知识!
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;
考试大温馨提示:本内容来源于网络,仅代表作者个人观点,与本站立场无关,仅供您学习交流使用。其中可能有部分文章经过多次转载而造成文章内容缺失、错误或文章作者不详等问题,请您谅解。如有侵犯您的权利,请联系我们,本站会立即予以处理。
相关推荐:
oracle中的rownum总结
oracle维护常用语句
数据库系统实现:数据库实现概论