BD2 数据库通过命令导入与导出数据

DB2是IBM开发的一种大型关系型数据库平台。支持多用户或应用程序在同一条SQL 语句中查询不同database甚至不同DBMS中的数据。目前,DB2数据库有如下一些版本:(比如DB2 for Unix,DB2 for Windows,DB2 for AS/400,DB2 for OS/390等)。

BD2 数据库中,我们可以通过命令进行数据的导入与导出。下面详细介绍这两种操作过程。

导出

导出:从数据库中导出数据SQL文件

1.以 DB2 数据库用户登录操作系统。
2.新建一个空文件夹,用于存放从服务器数据库中导出的数据。
3.在“运行”处执行“db2cmd”命令,进入命令窗口,使用 cd 命令进入存放数据的文件夹(即上面新建的空文件夹)。
4.执行以下命令,导出建表语句:

        db2look -d dbname -e -c -o *.sql -i username -w password

    dbname:服务器数据库的名称。
    *.wql:导出的建表语句的 sql 文件。
    username:服务器数据库的用户名。
    password:服务器数据库的密码。


5.执行以下命令,导出数据表数据: 

    db2move dbname export>*.log -u username -p password
6.命令执行后,数据就导出到新建的文件夹中。

导入

导入:将数据导入到数据库中

1.以 DB2 数据库用户登录操作系统。
2.新建一个空文件夹,用于存放导入到服务器数据库中的数据。
3.在"运行"处执行"db2cmd"命令,进入命令窗口,使用 cd 命令进入存放数据的文件夹(即上面新建的空文件夹)。
4.执行以下命令,导入数据表:

        db2 -tvf *.sql

5.执行以下命令,导入数据表数据:

        db2move dbname import -u username -p password

6.命令执行后,数据就导入到服务器的数据库中。

命令参数说明

db2look [-h] 命令

-d: 数据库名称:这必须指定

-e: 抽取复制数据库所需要的 DDL 文件

-xs: 导出 XSR 对象并生成包含 DDL 语句的脚本

-xdir: 路径名:将用来放置 XSR 对象的目录

-u: 创建程序标识:如果 -u 和 -a 都未指定,则将使用 $USER

-z: 模式名:如果同时指定了 -z 和 -a,则将忽略 -z

-t: 生成指定表的统计信息

-tw: 为名称与表名的模式条件(通配符)相匹配的表生成 DDL

-h: 更详细的帮助消息

-o: 将输出重定向到给定的文件名

-a: 为所有创建程序生成统计信息

-m: 在模拟方式下运行 db2look 实用程序

-c: 不要生成模拟的 COMMIT 语句

-r: 不要生成模拟的 RUNSTATS 语句

-l: 生成数据库布局:数据库分区组、缓冲池和表空间。

-x: 生成排除对象的原始定义程序的“授权”语句 DDL

-xd: 生成包括对象的原始定义程序的“授权”语句 DDL

-f: 抽取配置参数和环境变量

-td: 将 x 指定为语句定界符(缺省定界符为分号(;))

-i: 登录到数据库驻留的服务器时所使用的用户标识

-w: 登录到数据库驻留的服务器时所使用的密码

-noview: 不要生成 CREATE VIEW ddl 语句

-wrapper: 为适用于此包装器的联合对象生成 DDL

-server: 为适用于此服务器的联合对象生成 DDL

-nofed: 不要生成 Federated DDL

-fd: 为 opt_buffpage 和 opt_sortheap 以及其他配置和环境参数生成 db2fopt 语句。

-v: 只为视图生成 DDL,当指定了 -t 时将忽略此选项

-dp: 在 CREATE 语句之前生成 DROP 语句

-ct: 按对象创建时间生成 DDL 语句

db2move 命令

db2move <database-name> <action> [<option> <value>]

首先,您必须指定数据库名(想要移动的表所在的数据库)和要执行的操作(export 和 import 或 load)。然后指定一个选项来定义操作的范围。例如,可以将一个操作限制在特定的表(-tn)、表空间(-ts)、表创建者(-tc)或模式名(-sn)范围内。指定表、表空间或表的创建者的一个子集只对 export 操作有效。如果指定多个值,就必须使用逗号将其分隔开;在值列表项之间不允许有空格。可以指定的项最多为 10 个。

另外,也可以指定 -tf 选项,此时要使用一个文件名作为参数,其中列出了要导出的表名;在该文件中,每行只能列出一个完整的表名。您还可以指定以下内容:

展开阅读全文

本文系作者在时代Java发表,未经许可,不得转载。

如有侵权,请联系nowjava@qq.com删除。

编辑于

关注时代Java

关注时代Java