本篇文章介绍DB2数据库数据移动的三个实用工具:export、import、load,这是由DB2本身自带的数据导入导出工具。请注意,这三个实用工具大部分情况下类似于SQL应用,对于执行命令所需的权限和对数据库锁的情况可以认为由命令中的SQL语句决定。
首先介绍DB2数据库数据移动中支持的文件格式:
1. DEL:定界的ASCII码文件
所谓定界,即字符、列、行通过固定的字符来指定边界。默认情况下,字符的定界符为双引号,列的定界符为逗号,行定界符在Unix系统下为0X0A,Windows系统下为0X0A0D。DEL文件中行的长度并没有限制,但是单个字符的长度限制为32KB。当字段中的值包含和行定界符一致的字符时就会有冲突,这时可以使用后文介绍的修改定界符优先级选项来解决。当字段中值包含列定界符时可以通过重复该字符来表示。另外,不建议使用DEL文件来导出二进制数据。
2.ASC:定长的ASCII码文件
即每个字段长度固定的文件。DB2支持两种ASC文件的变种:①固定记录长度;②可变记录长度。在固定记录长度文件中,每个字段的长度是固定的,在可变记录长度文件中,可以指定每个字段的长度。ASC文件行的长度限制为32KB。
3.PC/IXF:PC集成交换格式
二进制文件,主要用于Unix系统和Windows、OS/2系统之间传递数据。文件中可以包含表的结构,可以通过import的create选项来创建新表。
4.WSF:工作表单格式
是一种专有的二进制文件格式,用来在DB2、Lotus 1-2-3和Symphony产品之间交换数据
以下是DB2实用工具和文件格式的支持关系。可以看到,导入工具(Import)支持全部四种文件格式,导出工具(Export)不支持ASC格式,装入工具(Load)不支持WSF文件格式。
注,图片摘自《DB2基础教程》,在Import前的“导出”有误,应为“导入”。
接下来介绍实用工具:
一、EXPORT
导出工具的数据来源是select语句,通过用户熟悉的select语句,用户可以导出任何需要的数据。导出工具需要select权限,并且使用可重复读隔离级别来和数据库绑定。
export的基本语法如下:
EXPORT TO <output file> OF <file type> <select statement>
output file:数据将要导出的文件,当文件已存在时,会直接覆盖文件。
file type:可以选择上文介绍过的三种文件格式DEL、IXF、WSF。当选择IXF格式时,会将表的结构一起导出。
select statement:sql查询语句。
以下演示导出步骤:
首先使用一下语句建表export_test1 :
create table export_test1 (
id int not null primary key,
c1 varchar(50)
)
① 连接数据库