将SAMPLE database的数据移到MYDB1 database上

本文著作权属于我之前的同事 - 罗建峰,非常感谢他之前给我写的这封技术流邮件。 特此整理如下。


---------------------------------------------------------------------------我是可爱的分割线---------------------------------------------------------------------------------------------------------------------

SAMPLE 数据库是安装DB2的时候创建的,里面包括一些表,表空间等等的东西,MYDB1是新建的数据库,是没有任何东西的。SAMPLE是源数据库,MYDB1是目标数据库

一. 复制个表格的表结构,这里是通过备份整个数据库的DDL来实现。


Sample数据库里的表


MYDB1数据库里面的表


1. 创建生成DDL文件
命令:db2look -d <dbname> -e -nofed -o sample.sql (sample.sql是自己取的名字。另外这个可以有很多参数,可以用db2look -h查看各个参数,如果是sever的要加上-i USERID -w PASSWORD) 这个我是猜的。
将<dbname>替换成源数据库的名称,<tableN>替换成具体的表名,多个表之间用空格分开
例子:db2look -d SAMPLE -e -nofed -o sample.sql

运行结果:


2. 我的是window版本的DB2,可能命令和LINUX会有点不同,我刚才遇到一个问题就是找不到生成的DDL文件,要在BIN里面创建一个文件夹DATA,然后cd到DATA里面去输入DB2LOOK的命令,然后sample.sql就在DATA文件夹里面了。

实例截图:



sample.sql里面的内容

-- 此 CLP 文件是使用 DB2LOOK 版本 "10.1" 创建的  
-- 时间戳记: 2014/5/30 20:48:08 
-- 数据库名称: SAMPLE          
-- 数据库管理器版本: DB2/NT64 Version 10.1.0        
-- 数据库代码页: 1208 
-- 数据库整理顺序为: IDENTITY

--(这里的DDL是链接到SAMPLE数据库上的,所以这里要修改一下链接的数据库,将其改为目标数据库MYDB1,有必要的话还可能要修改tablespace的名字,其实这些DDL就免去了你要创建表一个一个SQL的打,里面的内容按照你自己需求要改一下就可以了,我没有截完所有内容)

CONNECT TO SAMPLE;
  

------------------------------------------------
-- 表的 DDL 语句 "TEST    "."CL_SCHED"
 (TEST是我本地数据库的ID名字,你在sever上面导出的DDL可能那个schema会有很多,都将他改为你的ID名字就可以了,然后你就对所有表都有权限了,标红的部分,我因为是本地测试,所以不用改,这个DDL下面有很多内容,我没有复制全给你)
------------------------------------------------
 

CREATE TABLE "TEST    "."CL_SCHED"  (
		  "CLASS_CODE" CHAR(7) , 
		  "DAY" SMALLINT , 
		  "STARTING" TIME , 
		  "ENDING" TIME )   
		 IN "USERSPACE1" ; 

------------------------------------------------
-- 表的 DDL 语句 "TEST    "."DEPARTMENT"
------------------------------------------------
 

CREATE TABLE "TEST    "."DEPARTMENT"  (
		  "DEPTNO" CHAR(3) NOT NULL , 
		  "DEPTNAME" VARCHAR(36) NOT NULL , 
		  "MGRNO" CHAR(6) , 
		  "ADMRDEPT" CHAR(3) NOT NULL , 
		  "LOCATION" CHAR(16) )   
		 IN "USERSPACE1" ; 


-- 表上主键的 DDL 语句 "TEST    "."DEPART
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值