db2 v9.1資料轉移方案二則
概述:
資料轉移指的是將乙個表中的資料儲存在別的地方。可以是臨時表、中間表、或者檔案。
資料轉移是在實際開發中應用廣泛,是不同資料庫之間資料移植的基礎工作。
資料轉移是發生在部分表或者中間查詢結果上,是一種輕量級的資料臨時儲存,與資料庫備份有著很大不同。
概要:
環境:
windows xp professional
db2 9.1
方法:
一、將查詢結果輸出到檔案
步驟:
1、從開始選單開啟db2命令列處理器(或者進入db2安裝目錄下的bin目錄),
然後執行quit命令,這樣就進入dos視窗模式了。
2、在dos視窗下鏈結資料庫(或者在第一步中先連線資料庫,然後再quite,就不需要再鏈結資料庫了),在dos視窗模式下連線後,就可以用重定向輸出》,或者增量重定向輸出》來輸出查詢結果了
3. 在dos視窗模式下執行sql查詢並重定向輸出
然後我們去c:/下面檢視,發現多了乙個dm_hyml.txt檔案,開啟後,結果正是查詢結果的輸出。
說明:
db2命令列處理器和dos命令列視窗和相似,但是兩者有著本質的不同的,db2命令列處理器是在db2環境下的。dos命令列實在os環境下的。所有,在dos視窗下,執行db2的命令前面都要加上「db2」關鍵字。
重定向輸入的僅僅是文字,可以通過sql查詢的拼裝字串來輸出可執行的sql insert等語句。
二、將查詢結果直接插入到乙個表
步驟:1、定義乙個表,用來儲存查詢的資料
create table tt
( xh integer not null generated by default as identity,
hy_dm varchar(6) not null,
hy_mc varchar(200) not null);
2、執行插入查詢結果的sql語句
insert into tt(hy_dm, hy_mc)
(select a.hy_dm, a.hy_mc
from dm_hy a
where a.hy_dm in ('01', '065210', '065120', '010100')
order by a.hy_dm)
3、檢查目標表,看是否寫入資料:
檢視結果寫入成功。
注意:插入資料的順序與查詢結果顯示的資料是一致的,下面是對這個結論的驗證。
執行sql查詢,結果如下:
執行插入查詢結果的sql後,檢視插入的表,結果如下:
delete from tt;
insert into tt(hy_dm, hy_mc)
(select a.hy_dm, a.hy_mc
from dm_hy a
where a.hy_dm in ('01', '065210', '065120', '010100')
order by a.hy_mc);
檢視目標表的結果:
得出結論:插入順序與查詢sql輸入記錄順序一致,從中還可以發現乙個結論:如果查詢的中間表某字段為自增,則自增字段的開始數字會接著上次記錄數進行遞增,如果要每次都從1開始遞增,則需要重建中間表。
aix5 3新建db2v9 1例項
1 新建使用者組 使用root使用者登入後 smitty group 新建db2test使用者組 2 新建使用者 smitty user 新建db2test使用者,注意輸入db2test所在組為db2test和主目錄為 home db2test 修改密碼 passwd db2test 3 新建例項 ...
DB2中的資料移動(二)
db2中的資料移動 二 資料的匯入 例七 把c盤根目錄下的org.txt檔案中的資料匯入到org表中 import from c org.txt of del insert into org 匯入命令和匯出命令的格式基本上處於對應的關係,import對應export,from對應to,檔名和檔案格式...
使用DB2 V9進行非增量重定向還原(二)
表空間用來儲存表,抽象物理儲存,由乙個或多個容器組成,也就是說表空間可以分布在乙個或多個物理裝置上。有4k 8k 16k 32k的四種頁面大小的表空間。為了提高效能,可以將乙個表的索引儲存到另乙個表空間,將大物件儲存到第三個表空間,任何表的資料都迴圈儲存在表空間的所有容器中 預設的表空間有 sysc...