DB2數(shù)據(jù)庫導(dǎo)出表結(jié)構(gòu)與導(dǎo)入導(dǎo)出表數(shù)據(jù)
方法一
在控制中心的對象視圖窗口中,選擇所要導(dǎo)出表結(jié)構(gòu)的數(shù)據(jù)表,按住Ctrl或Shift可多選,單擊鼠標(biāo)右鍵,選擇->生成DDL即可。
方法二
◆第一步:打開DB2的命令行工具,在DB2安裝目錄的BIN文件夾下新建一個文件夾data,并且進入該目錄。
創(chuàng)建該目錄: mkdir data
進入該目錄: cd data
◆第二步:導(dǎo)出表結(jié)構(gòu),命令行如下:
db2look -d dbname -e -a -x -i username -w password -o ddlfile.sql
執(zhí)行成功之后,你會在剛才新建的文件夾下找到該sql文件。
◆第三步:導(dǎo)出數(shù)據(jù),命令行如下:
db2move databasename export -u username -p password
至此,導(dǎo)出數(shù)據(jù)結(jié)束。
2導(dǎo)出表中數(shù)據(jù)
export to [path(例:D:'TABLE1.ixf)] of ixf select [字段(例: * or col1,col2,col3)] from TABLE1;
export to [path(例:D:'TABLE1.del)] of del select [字段(例: * or col1,col2,col3)] from TABLE1;
導(dǎo)入表的數(shù)據(jù)
import from [path(例:D:'TABLE1.ixf)] of ixf insert into TABLE1;
load from [path(例:D:'TABLE1.ixf)] of ixf insert into TABLE1;
load from [path(例:D:'TABLE1.ixf)] of ixf replace into TABLE1; // 裝入數(shù)據(jù)前,先刪除已存在記錄
load from [path(例:D:'TABLE1.ixf)] of ixf restart into TABLE1; // 當(dāng)裝入失敗時,重新執(zhí)行,并記錄導(dǎo)出結(jié)果和錯誤信息
import from [path(例:D:'TABLE1.ixf)] of ixf savecount 1000 messages [path(例:D:'msg.txt)] insert into TABLE1;// 其中,savecount表示完成每1000條操作,記錄一次.
存在自增長字段的數(shù)據(jù)導(dǎo)入:
load from [path(例:D:'TABLE1.ixf)] of ixf modified by identityignore insert into TABLE1;// 加入modified by identityignore.
解除裝入數(shù)據(jù)時,發(fā)生的檢查掛起:
SET INTEGRITY FOR TABLE1 CHECK IMMEDIATE UNCHECKED;
命令只對數(shù)據(jù)通過約束檢查的表有效,如果執(zhí)行還不能解除,有必要檢查數(shù)據(jù)的完整性,是否不符合約束條件,并試圖重新整理數(shù)據(jù),再執(zhí)行裝入操作.
另外,對load和import,字面上的區(qū)別是:裝入和導(dǎo)入,但仍未理解兩者之間的區(qū)別.
只是性能上load顯然優(yōu)于import.(load 需要更多的權(quán)限)
