加replace是先清除、后插入的動(dòng)作,會(huì)清空表里所有數(shù)據(jù),再插入要導(dǎo)入的數(shù)據(jù)。思想:建一個(gè)表,插入部分?jǐn)?shù)據(jù),導(dǎo)出后,再插入不同的數(shù)據(jù),導(dǎo)入加“replace”選項(xiàng),觀察db2move、import導(dǎo)入數(shù)據(jù)后的結(jié)果,過(guò)程比較簡(jiǎn)單,上代碼:
1、建表、插入數(shù)據(jù):
d:\>db2 connect to test user cwgladm using cwglpass
數(shù)據(jù)庫(kù)連接信息
數(shù)據(jù)庫(kù)服務(wù)器 = DB2/NT 8.2.9
SQL 授權(quán)標(biāo)識(shí) = CWGLADM
本地?cái)?shù)據(jù)庫(kù)別名 = TEST
d:\>db2 create table t(id numeric not null,name varchar(20),constraint t_p primary key(id))
DB20000I SQL 命令成功完成。
d:\>db2 insert into t values(1,'chennan'),(2,'spsoft')
DB20000I SQL 命令成功完成。
d:\>db2 select * from t
ID NAME
------- --------------------
1. chennan
2. spsoft
2 條記錄已選擇。
2、導(dǎo)出數(shù)據(jù),兩種導(dǎo)出方式:
db2move:
d:\>db2move test export -tn t -sn cwgladm -u cwgladm -p cwglpass
***** DB2MOVE *****
Action: EXPORT
Start time: Fri Jun 20 11:30:43 2008
All table names matching: T;
All schema names matching: CWGLADM;
Connecting to database TEST ... successful! Server: DB2 Common Server V8.2.9
EXPORT: 2 rows from table "CWGLADM "."T"
Disconnecting from database ... successful!
End time: Fri Jun 20 11:30:43 2008
export:
d:\>db2 export to exp_t.ixf of ixf select * from t
SQL3104N Export 實(shí)用程序開始將數(shù)據(jù)導(dǎo)出到文件 "exp_t.ixf" 中。
SQL3105N Export 實(shí)用程序已導(dǎo)出 "2" 行。
導(dǎo)出的行數(shù):2
3、再次插入不同的數(shù)據(jù),觀察db2move 導(dǎo)入的結(jié)果:
d:\>db2 insert into t values(3,'compute'),(4,'Database')
DB20000I SQL 命令成功完成。
d:\>db2 select * from t
ID NAME
------- --------------------
1. chennan
2. spsoft
3. compute
4. Database
4 條記錄已選擇。
d:\>db2move test import -io replace -u cwgladm -p cwglpass
***** DB2MOVE *****
Action: IMPORT
Start time: Fri Jun 20 11:33:29 2008
Connecting to database TEST ... successful! Server: DB2 Common Server V8.2.9
* IMPORT: table "CWGLADM "."T"
-Rows read: 2
-Inserted: 2
-Rejected: 0
-Committed: 2
Disconnecting from database ... successful!
End time: Fri Jun 20 11:33:30 2008
d:\>db2 select * from t
ID NAME
------- --------------------
1. chennan
2. spsoft
2 條記錄已選擇。
4、再次插入不同的數(shù)據(jù),觀察import 導(dǎo)入的結(jié)果:
d:\>db2 insert into t values(3,'compute'),(4,'Database')
DB20000I SQL 命令成功完成。
d:\>db2 select * from t
ID NAME
------- --------------------
1. chennan
2. spsoft
3. compute
4. Database
4 條記錄已選擇。
d:\>db2 import from exp_t.ixf of ixf replace into t
SQL3150N PC/IXF 文件中的 H 記錄具有產(chǎn)品 "DB2 02.00"、日期 "20080620"
和時(shí)間 "113449"。
SQL3153N PC/IXF 文件中的 T 記錄具有名稱 "exp_t.ixf"、限定符 "" 和源 "
"。
SQL3109N 實(shí)用程序開始裝入文件 "exp_t.ixf" 中的數(shù)據(jù)。
SQL3110N 實(shí)用程序已完成處理。從輸入文件讀取了 "2" 行。
SQL3221W ...開始 COMMIT WORK。輸入記錄計(jì)數(shù) = "2"。
SQL3222W ...COMMIT 任何數(shù)據(jù)庫(kù)更改成功。
SQL3149N 從輸入文件中處理了 "2" 行。將 "2" 行成功插入到表中。"0" 行被拒絕。
讀取行數(shù) = 2
跳過(guò)行數(shù) = 0
插入行數(shù) = 2
更新行數(shù) = 0
拒絕行數(shù) = 0
落實(shí)行數(shù) = 2
d:\>db2 select * from t
ID NAME
------- --------------------
1. chennan
2. spsoft
2 條記錄已選擇。
結(jié)論:加replace是先清除、后插入的動(dòng)作,會(huì)清空表里所有數(shù)據(jù),再插入要導(dǎo)入的數(shù)據(jù)。