DB2数据移动总结2-export

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/attack_breast/article/details/79863259

EXPORT命令详解

参考链接

https://www.ibm.com/support/knowledgecenter/SSEPGG_9.7.0/com.ibm.db2.luw.admin.cmd.doc/doc/r0008303.html

语法

Export to filename of {IXF|DEL|WSF}

[lobs to lob-path[{,lob-path}...]]

[lobfile lob-file[{,lob-file}...]]

[modified by {filetype-mod...}]

[method n(column-name[{,column-name}...])]

[messages message-file]

{select-statement|hierarchy{starting sub-table-name|sub-table-name[{,sub-table-name}...]}}

[where ...]

参数详解

filename

必填项,用来指定生成文件的绝对路径以及文件名,例如:AIX系统下 export to /home/users.txt of del select * from users

{IXF|DEL|WSF}

必选项,3选1,不同格式搭配不同参数。

[lobs to lob-path[{,lob-path}...]]

可选项,用具体的例子才能讲解:

export to /home/operationlog.del of del

lobs to /home/lob/ lobfile lobs modified by lobsinfile select * from operation_log

文件DEL内容为:

"test1","2018-03-03","lobs.001.0.43690/"

"test2","2018-03-03","lobs.001.43690.29540/"

其中第三个字段是BLOB类型,在该文件中只保存了一个标志,相当于一个指针,真正的LOB数据保存在/home/lob/目录下的lobs.001、lobs.002等一系列文件中。命令中lobs to 后面指定大对象数据保存在什么路径下(注意,该路径必须事先已经存在,否则会报错),lobfile 后面指定大对象数据保存在什么文件中,不要指定扩展名,DB2会根据数据量自动追加.001、.002等扩展名,同时不要忘记加上modified by lobsinfile子句。

[lobfile lob-file[{,lob-file}...]]

可选项,功能参数上一节。

[modified by {filetype-mod...}]

可选项,具体作用可以理解为用什么符号来分割列,以及正数、负数、日期、小数、字符等该怎么格式化(个人理解,请大神指正)

NODOUBLEDEL

不识别双字符定界符,说白了就是不识别由2个字符组成的分隔符

LOBSINFILE

LOB导出到DEL文件,与lobs、lobfile配合使用。

CHARDELx

指定x为新的单字符串定界符。默认值是双引号(“”)

表示字符串字段用什么符号引用,默认情况下为一对双引号括起来,现在改为用一对单引号括起来:

export to /home/staff.txt of del modified by chardel'' select * from users

COLDELx

指定x为新的单字符列定界符。默认值是双引号(,)

表示列与列之间的间隔符,默认情况为逗号,现在改为$号:

export to /home/staff.txt of del modified by coldel$ select * from users

DLDELx
十进制小数位字符(" % &  ( ) * . / : ; < = > ? |  ,  '  _

DECPLUSBLANK

表示对于十进制数据类型,用空格代替最前面的加号,因为默认情况下会在十进制数据前面加上正负号:

export to /home/staff.txt of del modified by decplusblank select * from users

DECPTx

对于小数,用什么分隔符来替代传统意义上的”.”,例如:逗号用作小数点export to test.del of del modified by decpt, select * from users

DATESISO

使用 ISO 日期格式

1

2

3

4

CODEPAGE=x

指定x这个ASCII字符串为输出数据的字符编码,在导出操作期间,将字符数据从应用程序字符编码转换成特定的字符编码。

STRIPLZEROS

去掉前补的0,例如:00023.40导出后变成:+23.40

NOCHARDEL

导出的列的值,其前后没有分隔符

TIMESTAMPFORMAT=”x”

x是源表中时间戳记的格式。(YYYY/MM/DD HH:MM:SS.UUUUUU、YYYY/MM/DD HH、YYYY-MM-DD HH:MM:SS TT、MMM DD YYYY HH:MM:SS:UUUTT、MMM DD YYYY HH:MM:SSTT

[method n(column-name[{,column-name}...])]

可选项,给导出数据列重命名,例如:

export to /home/users.ixf of ixf method n(a1,a2,a3,a4) select * from user

在默认情况下,导出的每一列数据以表中对应的字段名自动命名,我们可以通过method n子句给每一列重新命名,需要注意的是,这个子句只在ixf和wsf格式文件中有效,在文本文件中不能使用。

[messages message-file]

可选项,把导出信息保存在消息文件中,无论是成功、警告还是失败信息,都可以通过观察信息文件找到问题所在:

export to /home/users.ixf of ixf messages /home/info.txt select * from user

这个例子把user表数据导出到users.ixf文件中,所有的导出信息都保存在/home/info.txt文件中

{select-statement|hierarchy{starting sub-table-name|sub-table-name[{,sub-table-name}...]}}

[where ...]

查找数据,经典的就是select  xxx from xxx where xxx查询语句。


猜你喜欢

转载自blog.csdn.net/attack_breast/article/details/79863259