免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4840 | 回复: 7
打印 上一主题 下一主题

DB2中的数据移动(二) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-11-11 21:05 |只看该作者 |倒序浏览
数据的导入

例七:把C盘根目录下的org.txt文件中的数据导入到org表中
import from c:\org.txt of del insert into org

导入命令和导出命令的格式基本上处于对应的关系,import对应export,from对应to,文件名和文件格式代表的含义相同,但是导入命令支持ASC格式的文件,而导出命令不支持。另外,在导出命令的最后是一个SQL语句,用于选择要导出的数据,而导入命令最后不是SQL语句,而是插入数据的方式以及目标表名称。

例八:从ASC格式文件中导入数据
import from  c:\org2.txt of asc method l(1 5,6 19,20 25,26 37,38 50) insert into org
其中 method l 子句用于指定文本文件中每一个字段的起始位置和终止位置,每个起始位置和终止位置间用空格分开,字段之间用逗号分开。
除了l方法之外,还有n方法和p方法,下面会叙述。

例九:利用n方法导入数据,并且创建新表。
首先导出一个用例文件:
export to d:\org.ixf of ixf method n(a,b,c,d,e) select * from org
这样org.ixf文件中有五列数据,对应的列名分别为a、b、c、d、e
然后在从该文件中导入数据到一个新表中
import from d:\org.ixf of ixf method n(d,e,b) replace_create into orgtest
该命令从文件中选取三列导入到表中,顺序可以不按照文件中原有的列的顺序。replace_create方式的叙述见下。

插入方式有:
INSERT 方式——在表中现有数据的基础之上追加新的数据。
INSERT_UPDATE 方式——这种方式只能用于有主键的表,如果插入的数据与原有数据主键不冲突,则直接插入,如果主键冲突,则用新的数据代替原有数据。
REPLACE 方式——先把表中现有的数据都删除,然后向空表中插入数据。
REPLACE_CREATE 方式——表示如果表存在,则先把表中的数据都删除,然后向空表中插入数据;如果表不存在,则先根据文件中的字段创建表,然后再向表中插入数据。这种方式只能把IXF格式的文件中的数据插入到表中。

例十:利用p方法导入数据
import from d:\org.ixf of ixf method p(4,5,2) replace into orgtest
该例子执行的效果和例九类似,只是把n方法换成了p方法,p方法后面的列表中指明列的序号即可,不需要指明列名。另外,此例中使用了replace方式插入数据,这会把表中现有的数据都删除,然后向空表中插入数据。

例十一:关于空值的导入
对于ixf格式的文件,导入空值非常方便,因为里面已经记录了空值的信息。但是,对于ASC格式文件就有一定的难度了,因为DB2会直接插入空格,而不是空值。为此,DB2提供了一个子句进行控制:NULL INDICATORS

import from  c:\org2.txt of asc MODIFIED BY nullindchar=# method l(1 5,6 19,20 25,26 37,38 50) NULL INDICATORS(0,0,0,0,38 ) replace into org

在这个例子中,NULL INDICATORS子句后面是一个列表,表示前面四个字段都不会存在空值,而第五个字段从38列开始,可能存在空值,而 MODIFIED BY nullindchar=# 子句表示在文件中第五个字段如果遇到 # 号,则表示为空值。

就说这些吧,抛砖引玉,希望大家补充,下一次谈一谈Load命令。

论坛徽章:
0
2 [报告]
发表于 2004-11-12 13:54 |只看该作者

DB2中的数据移动(二)

谢谢,
加油啊!!

论坛徽章:
0
3 [报告]
发表于 2004-11-16 09:19 |只看该作者

DB2中的数据移动(二)

大家加油阿

论坛徽章:
0
4 [报告]
发表于 2004-11-17 14:36 |只看该作者

DB2中的数据移动(二)

谢谢!!!

论坛徽章:
0
5 [报告]
发表于 2004-12-08 13:05 |只看该作者

DB2中的数据移动(二)

我想把在db2中存储的图片显示在前台,
是不是要先把大对象导出到一个文件中,然后从文件中调用?
若不是,请指教.

论坛徽章:
0
6 [报告]
发表于 2004-12-09 08:42 |只看该作者

DB2中的数据移动(二)

我想把在db2中存储的图片显示在前台,
是不是要先把大对象导出到一个文件中,然后从文件中调用?
若不是,请指教.
不需要,不同语言有各自方法读取lob

论坛徽章:
0
7 [报告]
发表于 2004-12-09 09:12 |只看该作者

DB2中的数据移动(二)

参照一下DB2中Sample子文件夹下面的例子吧。

论坛徽章:
0
8 [报告]
发表于 2004-12-26 17:24 |只看该作者

DB2中的数据移动(二)

一直在用,不知道还有这些功能,茅塞顿开。
DB2的帮助文档实在看起来太多太累了,得加油呀!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP