DB2中所謂的數(shù)據(jù)移動(dòng),包括:
1. 數(shù)據(jù)的導(dǎo)入(Import)
2. 數(shù)據(jù)的導(dǎo)出(Export)
3. 數(shù)據(jù)的裝入(Load)
導(dǎo)入和裝入都是利用DB2的相關(guān)命令把某種格式的文件中的數(shù)據(jù)保存到數(shù)據(jù)庫中的表中
導(dǎo)出是指把DB2數(shù)據(jù)庫的表中的數(shù)據(jù)保存到某種格式的文件當(dāng)中去
數(shù)據(jù)移動(dòng)的作用:
如果要在不同的數(shù)據(jù)庫管理系統(tǒng)之間轉(zhuǎn)移數(shù)據(jù),數(shù)據(jù)移動(dòng)通常是最實(shí)用的一種方法,因?yàn)槿魏我环N數(shù)據(jù)庫管理系統(tǒng)都支持常用的幾種文件格式,通過這個(gè)通用的接口,就很容易實(shí)現(xiàn)不同系統(tǒng)間數(shù)據(jù)的轉(zhuǎn)移。
這三個(gè)命令中,Export最簡單,因?yàn)閺谋碇邢蛭募D(zhuǎn)移數(shù)據(jù),通常不會(huì)出現(xiàn)錯(cuò)誤,也不會(huì)有非法的數(shù)據(jù)。
在講解命令之前,首先介紹一下文件的格式,用于DB2數(shù)據(jù)移動(dòng)的文件格式有四種:
1. ASC——非定界ASCII文件,是一個(gè)ASCII字符流。數(shù)據(jù)流中的行由行定界符分隔,而行中的每一列則通過起始和結(jié)束位置來定義。例如:
10 Head Office 160 Corporate New York
15 New England 50 Eastern Boston
20 Mid Atlantic 10 Eastern Washington
38 South Atlantic 30 Eastern Atlanta
42 Great Lakes 100 Midwest Chicago
51 Plains 140 Midwest Dallas
66 Pacific 270 Western San Francisco
84 Mountain 290 Western Denver
2. DEL——定界ASCII文件,也是一個(gè)ASCII字符流。數(shù)據(jù)流中的行由行定界符分隔,行中的列值由列定界符分隔。文件類型修飾符可用于修改這些定界符的默認(rèn)值。例如:
10,"Head Office",160,"Corporate","New York"
15,"New England",50,"Eastern","Boston"
20,"Mid Atlantic",10,"Eastern","Washington"
38,"South Atlantic",30,"Eastern","Atlanta"
42,"Great Lakes",100,"Midwest","Chicago"
51,"Plains",140,"Midwest","Dallas"
66,"Pacific",270,"Western","San Francisco"
84,"Mountain",290,"Western","Denver"
3. WSF——(work sheet format)為工作表格式,用于與Lotus系列的軟件進(jìn)行數(shù)據(jù)交換。
4. PC/IXF——是集成交換格式(Integration Exchange Format,IXF)數(shù)據(jù)交換體系結(jié)構(gòu)的改編版本,由一些列可變長度的記錄構(gòu)成,包括頭記錄、表記錄、表中每列的列描述符記錄以及表中每行的一條或多條數(shù)據(jù)記錄。PC/IXF 文件記錄由包含了字符數(shù)據(jù)的字段組成。
第一部分:數(shù)據(jù)的導(dǎo)出(Export)
例一:把Org表中的所有數(shù)據(jù)導(dǎo)出到文件C:\ORG.TXT中。
Export to c:\org.txt of del select * from org
其中,of del表示導(dǎo)出到的文件的類型,在本例中導(dǎo)出到一個(gè)非定界文本文件中;后面的select * from org是一個(gè)SQL語句,該語句查詢出來的結(jié)果就是要導(dǎo)出的數(shù)據(jù)。
例二:改變del格式文件的格式控制符
export to c:\staff.txt of del modified by coldel$ chardel’’ decplusblank select * from staff
在該例中,modified子句用于控制各種符號(hào),coldel表示字段之間的間隔符,默認(rèn)情況為逗號(hào),現(xiàn)在改為$號(hào);chardel表示字符串字段用什么符號(hào)引用,默認(rèn)情況下為一對(duì)雙引號(hào)括起來,現(xiàn)在改為用一對(duì)單引號(hào)括起來;decplusblank表示對(duì)于十進(jìn)制數(shù)據(jù)類型,用空格代替最前面的加號(hào),因?yàn)槟J(rèn)情況下會(huì)在十進(jìn)制數(shù)據(jù)前面加上正負(fù)號(hào)的。
例三:以ASC格式將數(shù)據(jù)導(dǎo)出到文件
Export命令是不支持ASC格式文件的,所以如果想導(dǎo)出ASC這樣規(guī)整的格式,需要程序員自己進(jìn)行轉(zhuǎn)換操作,思路是將各種數(shù)據(jù)類型都轉(zhuǎn)換成定長字符串,然后把各個(gè)要導(dǎo)出的字段合并成為一個(gè)字段。
例如創(chuàng)建如下結(jié)構(gòu)的表n:
create table n(a int,b date,c time,d varchar(5),e char(4),f double)
然后插入兩條數(shù)據(jù):
insert into n values(15,’2004-10-21’,’23:12:23’,’abc’,’hh’,35.2)
insert into n values(5,’2004-1-21’,’3:12:23’,’bc’,’hhh’,35.672)
要想把這兩條數(shù)據(jù)以規(guī)整的格式導(dǎo)出到文件中,進(jìn)行如下操作:
export to c:\test.txt of d
DB2中的數(shù)據(jù)移動(dòng)(一)
2020-06-09 20:45DB2數(shù)據(jù)庫教程網(wǎng) DB2
本文主要講解DB2中的數(shù)據(jù)移動(dòng)(一)的方法,包括: 1. 數(shù)據(jù)的導(dǎo)入(Import) 2. 數(shù)據(jù)的導(dǎo)出(Export) 3. 數(shù)據(jù)的裝入(Load) 。
延伸 · 閱讀
- 2022-01-19詳解易語言鏈接DB2 OLEDB實(shí)例方法
- 2021-10-21db2數(shù)據(jù)庫常用操作命令大全
- 2021-10-15比較SQL Server與Oracle、DB2數(shù)據(jù)庫的一些知識(shí)
- 2021-06-01docker-compose安裝db2數(shù)據(jù)庫操作
- 2021-01-03詳述 DB2 分頁查詢及 Java 實(shí)現(xiàn)的示例
- 2020-09-05Python連接DB2數(shù)據(jù)庫
- DB2
如何訪問大型機(jī)、小型機(jī)上的DB2 9數(shù)據(jù)服務(wù)器
數(shù)據(jù)庫連接工具軟件 DB2 connect的基本特性是為桌面應(yīng)用程序和服務(wù)主機(jī)的數(shù)據(jù)庫服務(wù)器之間提供一種連接交互訪問的方法。這些桌面應(yīng)用程序所在的環(huán)境可...
- DB2
DB2 UDB V8.1管理學(xué)習(xí)筆記(三)
本文主要講解DB2 UDB V8.1管理學(xué)習(xí)筆記(三),有需要的朋友可以參考下 ...
- DB2
CentOS下DB2數(shù)據(jù)庫安裝過程詳解
這篇文章主要介紹了CentOS下DB2數(shù)據(jù)庫安裝過程詳解,本文步驟詳細(xì),操作的命令也比較全,需要的朋友可以參考下 ...
- DB2
python之sqlalchemy創(chuàng)建表的實(shí)例詳解
這篇文章主要介紹了數(shù)據(jù)庫之sqlalchemy創(chuàng)建表的實(shí)例詳解的相關(guān)資料,希望通過本文能幫助到大家,讓大家掌握理解這部分內(nèi)容,需要的朋友可以參考下...
- DB2
db2數(shù)據(jù)庫常用操作命令大全
這篇文章主要介紹了db2數(shù)據(jù)庫常用操作命令大全,匯總了DB2的常用操作命令,分享給大家供大家參考,需要的朋友可以參考下...
- DB2
DB2 SELECT語句高級(jí)用法
DB2 SELECT語句高級(jí)用法,學(xué)習(xí)db2數(shù)據(jù)庫的朋友可以參考下。 ...
- DB2
分析DB2活動(dòng)日志滿的原因及解決DB2日志滿方法與避免方案
本文簡單地介紹了DB2中日志的使用、活動(dòng)日志以及首個(gè)活動(dòng)日志的概念、日志滿的原因、日志滿的診斷、臨時(shí)處理以及避免辦法 ...
- DB2
DB2專家王云談商業(yè)智能BI
王云說: 既然講商業(yè)智能,我們大家都在講及時(shí)性,我們講要有績效,要有BPM,我自己就來看看我們能不能在這個(gè)會(huì)場上,我們來實(shí)踐一下,如果大家抬頭...