DB2的export,import,load
1 导出(EXPORT )工具
Export 用于将数据从数据表中导出到前面介绍那几种格式的文件中。其实,它执行了一个 SQL。的 SELECT 操作。
下面的例子将一个 employee 数据表中的 10 行数据导出到 employee.ixf 文件中。
EXPORT TO employee.ixf OF IXFSELECT * FROM employee
FETCH FIRST 10 ROWS ONLY
2 导入(IMPORT )工具
Import 用于将前面介绍的数据文件导入到数据表中。它其实执行了 SQL 的 INSERT 操作。和INSERT 操作一样,Import 执行的时候会激活触发器,所有的约束会强制实现,而且会使用数据库的缓冲池。下面的例子将 IXF 格式的 employee.ixf 中所有的数据导入到 employee_copy 数据表中。REPLACE_CREATE 操作是 Import 工具提供的众多参数之一。这个参数表示如果 employee_copy数据表已经存在,则先清空数据表中的数据然后将 ixf 中的数据导入,如果 employee_copy 数据表不存在,则会先建立该表,然后将数据导入。我们建议您尝试操作上面的例子,但是您必须先像前面一节那样执行 Export 工具将数据导出。
IMPORT FROM employee.ixf OF IXF
REPLACE_CREATE
INTO employee_copy
3 使用 LOAD 来导入
Load 工具可以更快的将数据文件导入到数据表中。正如前面讨论过的那样,Load 工具不会与DB2 数据引擎发生交互,所以当使用 Load 工具时,不会触发触发器也不会使用缓冲池,而且必须单独实现数据表的约束。Import 工具执行起来比 Load 慢是因为它是低层次的数据操作工具,它分LOAD,BUILD,DELETE 三个阶段对硬盘上的数据页面来进行直接的处理。
下面的例子将 IXF 格式的 employee.ixf 文件里面的所有数据导入到表 employee_copy。
REPLACE 是 LOAD 工具所提供的众多选项之一。它表示将替换 employee_copy 表中的所有数据。
LOAD FROM employee.ixf OF IXF
REPLACE INTO employee_copy
执行完上面的命令后,该表进入 检查暂挂状态。这时您必须运行 SET INTEGRITY 命令来检查数据的一致性,下面是执行 SET INTEGRITY 的例子:
SET INTEGRITY FOR employee_copy
ALL IMMEDIATE UNCHECKED