DB2导出表结构、表数据小结
一、DB2命令行导出数据库全库表结构
① Win+R进入到DB2安装目录的BIN目录下,执行命令:DB2CMD,进入到DB2 CLP窗口。
命令:DB2CMD
② 创建一个data文件夹
命令:MKDIR data
说明:将数据库全表结构的SQL语句导出到data目录下
③ 进入到data目录
命令:CD data
④ 导出数据库全表结构
命令:DB2LOOK –D DATABASE_NAME –E –A – I USER_NAME –W PASSWORD –O DB_DLL.sql
说明: DATABASE_NAME —数据库名称
USER_NAME —登录数据库用户名
PASSWORD —登录数据库用户密码
DB_DLL.sql —数据库全表SQL脚本文件
二、DB2命令行导出数据库全库数据
① 执行命令,导出数据
命令:DB2MOVE DATABASE_NAME EXPORT –u USER_NAME –p PASSWORD
说明: DATABASE_NAME —数据库名称
USER_NAME —登录数据库用户名
PASSWORD —登录数据库用户密码
DB_DLL.sql —数据库全表SQL脚本文件
提示: -u,-p必须是小写
三、DB2命令行导出数据库单个表数据
① 执行命令,导出单表数据
命令:DB2 EXPORT TO [path(eg..D:/TABLE_NAME.IXF)] OF IXF SELECT [字段(eg.. * or col1,col2,……coln)] FROM TABLE_NAME;
说明:导出文件格式A:DEL (delimited ASCII format);B:WSF (work sheet format);C:IXF (integrated exchange format, PC version)
四、DB2命令行导入表数据
① 执行命令导入表数据
命令:DB2 IMPORT FORM [path(eg..D:/TABLE_NAME.IXF)] OF IXF INSERT INTO TABLE_NAME;
DB2 LOAD FROM [path(eg..D:/TABLE_NAME.IXF)] OF IXF INSERT INTO TABLE_NAME;
DB2 LOAD FROM [path(eg..D:/TABLE_NAME.IXF)] OF IXF REPLACE INTO TABLE_NAME;
//当装载数据前,先删除已存在的记录
DB2 LOAD FROM [path(eg..D:/TABLE_NAME.IXF)] OF IXF RESTART INTO TABLE_NAME;
//当装载失败时,重新执行,并极力导出结果和错误信息
DB2 LOAD FROM [path(eg..D:/TABLE_NAME.IXF)] OF IXF RESTART INTO TABLE_NAME;
//在存在自增长字段的数据导入
DB2 LOAD FROM [path(eg..D:/TABLE_NAME.IXF)] OF IXF MODIFIED BY IDENTIEYIGORN INSERT TO TABLE_NAME;
解除装入数据时,发生的检查挂起:
SET INTEGRITY FOR TABLE1 CHECK IMMEDIATE UNCHECKED;
说明:命令只对数据通过约束检查的表有效,如果执行还不能解除,有必要检查数据的完整性,是否不符合约束条件,并试图重新整理数据,再执行装入操作.
db2 相关命令(db2look 和 move)以及相关SQL操作
关键字: db2look move
1、导出到 一个文件获得sql语句
db2look -d cqyancao -e -o db.sql -i db2user -w psw
数据库名 要出文件名 用户名 密码
示例: db2look -d DEPARTMENT -u walid -e -o db2look.sql
-- 这将生成由用户 WALID 创建的所有表和联合对象的 DDL 语句
-- db2look 输出被发送到名为 db2look.sql 的文件中
示例: db2look -d DEPARTMENT -z myscm1 -e -o db2look.sql
-- 这将为模式名为 MYSCM1 的所有表生成 DDL 语句
-- 还将生成 $USER 创建的所有联合对象的 DDL。
-- db2look 输出被发送到名为 db2look.sql 的文件中
示例: db2look -d DEPARTMENT -u walid -m -o db2look.sql
-- 这将生成 UPDATE 语句以捕获关于用户 WALID 创建的表/别名的统计信息
-- db2look 输出被发送到名为 db2look.sql 的文件中
示例: db2look -d DEPARTMENT -u walid -e -wrapper W1 -o db2look.sql
-- 这将生成由用户 WALID 创建的所有表的 DDL 语句
-- 还将生成适用于包装器 W1 的用户 WALID 所创建所有联合对象的 DDL
-- db2look 输出被发送到名为 db2look.sql 的文件中
示例: db2look -d DEPARTMENT -u walid -e -server S1 -o db2look.sql
-- 这将生成由用户 WALID 创建的所有表的 DDL 语句
-- 还将生成适用于服务器 S1 的用户 WALID 所创建所有联合对象的 DDL
-- db2look 输出被发送到名为 db2look.sql 的文件中
2.使用db2move命令导出数据库
从另一数据库中导出初始化数据,首先进入导出的目录,如:D:\db,
命令为:db2move dbname export –u username –p password。注:dbname 为原数据库名,username为用户名 password为密码。
恢复命令D:\db> db2move dbname import -u username -p password
3、使用db2move导出导入单表
导出 db2move dbname export -tn yc_news -u db2user -p password
导入 db2move dbname import -u db2user -p password
4、其它相关
db2取前十条记录
例如:
db2 => select * from tableName fetch first 10 rows only
db2修改字段长度
db2 alter table db2admin.config alter cvalue set datatype varchar(255)
例如:
db2 => alter table news alter AUTHOR set data type varchar(250)
db2 => describe table news
db2增加字段方法
alter table table_name
add column column_name datatype
重要参数详解:
0b2w Q4W_G_y0-d DBname : 指定 数据库名
I;\_A_^_C$O:a0-e : 生成 数据库对象的 DDL 语句ITPUB个人空间_G$o
K5e6u_C_y h#k-v
-l : 生成 用户定义的 表空间、数据库分区组、Buffer Pools
-@ r:n!l'n0i_f"o.P0 的 DDL 语句ITPUB个人空间‑n&B_Q {_R$l
-u Creator : 指定 创建者ID 的对象
_H ~,e.O_l_|_O_B0-a : 指定不限制 创建者
.U_`0B8g_Q_d G_C_H0-z schema : 指定 Schema
0V‑D V7e_w_`0-t Tname1 Tname2 ... TnameN : 指定 特定的 表 不能加模式名
_W_c$~2o ~_r+}-x0-v Vname1 Vname2 ... VnameN : 指定 特定的 View
)S_S_f_i_d_y8a_n i0-tw Tname : 指定 表名字的匹配格式,日志表'LOG%'ITPUB个人空间1H!]0]%m
|_f8J_B_w2X1A
-o OutputFile : 指定输出结果文件名
#n_T_Q/s2f#X_w#K0-m : 生成 复制 统计信息表的 UPDATE 语句。ITPUB个人空间)x_f_J7S_e_n_?
-x : 生成 用户权限 相关DDL
#g_q9Uj_f_D,x_\4T_H_m0-xd : 生成 系统权限 相关DDL
9?*d![_F&U2i_o
M0-xs :XML模式存储库(XSR)对象(XML模式、DTD和外部实体)ITPUB个人空间_j_B_`0ka:y‑R&c-{z+[_j_^
-xdir dirname :XSR对象的放置位置
导入
db2 -tvf xxx.sql S z0f `‑X&m_c%N0ITPUB个人空间)L
F/J_{$G @_V_k