偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

DB2的數(shù)據(jù)移動(dòng)詳解

數(shù)據(jù)庫
DB2是IBM出口的一系列關(guān)系型數(shù)據(jù)庫管理系統(tǒng),分別在不同的操作系統(tǒng)平臺(tái)上服務(wù)。關(guān)于DB2的數(shù)據(jù)移動(dòng)下文中將為大家作出詳細(xì)的講解。

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 del select char(a) || char(b) || char(c) || char(d,5) || e || char(f) as tmp from n

這樣導(dǎo)出的結(jié)果與ASC格式的文件非常類似,只是每一行的前后多出了一對(duì)雙引號(hào),對(duì)此我們可以使用文本工具(如寫字板、記事本等)把雙引號(hào)刪除掉,也可以置之不理,在以后導(dǎo)入的時(shí)候直接控制格式(忽略雙引號(hào))

在文件中的格式為:

"15 2004-10-2123.12.23abc hh 3.52E1 "

"5 2004-01-2103.12.23bc hhh 3.5672E1 "

例四:大數(shù)據(jù)的導(dǎo)出

export to d:\myfile.del of del lobs to d:\lob\ lobfile lobs modified by lobsinfile select * from emp_photo

該命令把emp_photo表的數(shù)據(jù)導(dǎo)出到d:\myfile.del文件中,其結(jié)果為:

"000130","bitmap","lobs.001.0.43690/"

"000130","gif","lobs.001.43690.29540/"

"000130","xwd","lobs.001.73230.45800/"

"000140","bitmap","lobs.001.119030.71798/"

"000140","gif","lobs.001.190828.29143/"

"000140","xwd","lobs.001.219971.73908/"

"000150","bitmap","lobs.001.293879.73438/"

"000150","gif","lobs.001.367317.39795/"

"000150","xwd","lobs.001.407112.75547/"

"000190","bitmap","lobs.001.482659.63542/"

"000190","gif","lobs.001.546201.36088/"

"000190","xwd","lobs.001.582289.65650/"

其中第三個(gè)字段是BLOB類型,在該文件中只保存了一個(gè)標(biāo)志,相當(dāng)于一個(gè)指針,真正的LOB數(shù)據(jù)保存在d:\lob目錄下的lobs.001、lobs.002、......等一系列文件中。命令中l(wèi)obs to 后面指定大對(duì)象數(shù)據(jù)保存在什么路徑下(注意,該路徑必須事先已經(jīng)存在,否則會(huì)報(bào)錯(cuò)),lobfile 后面指定大對(duì)象數(shù)據(jù)保存在什么文件中,不要指定擴(kuò)展名,DB2會(huì)根據(jù)數(shù)據(jù)量自動(dòng)追加.001、.002等擴(kuò)展名,同時(shí)不要忘記加上modified by lobsinfile子句。

例五:把導(dǎo)出信息保存在消息文件中。

export to d:\awards.ixf of ixf messages d:\msgs.txt select * from staff where dept = 20

這個(gè)例子把staff表中dept=20的數(shù)據(jù)導(dǎo)出到d:\awards.ixf文件中,所有的導(dǎo)出信息都保存在d:\msgs.txt文件中(無論是成功、警告還是失敗信息),這樣,管理員可以通過觀察信息文件找到問題所在。

例六:給導(dǎo)出數(shù)據(jù)列重命名。

export to d:\awards.ixf of ixf method n(c1,c2,c3,c4,c5,c6,c7) messages d:\msgs.txt select * from staff where dept=20

在默認(rèn)情況下,導(dǎo)出的每一列數(shù)據(jù)以表中對(duì)應(yīng)的字段名自動(dòng)命名,我們可以通過method n子句給每一列重新命名,需要注意的是,這個(gè)子句只在ixf和wsf格式文件中有效,在文本文件中不能使用。

DB2的數(shù)據(jù)移動(dòng)上文中首先是做出了大體的講解,然后又通過實(shí)例來講解,將抽象問題具體化,便于大家更好的理解DB2的數(shù)據(jù)移動(dòng),希望大家通過上文的學(xué)習(xí)之后能夠有所收獲。

 

責(zé)任編輯:迎迎 來源: 電腦初學(xué)網(wǎng)
相關(guān)推薦

2010-08-26 11:05:39

DB2數(shù)據(jù)移動(dòng)

2010-07-27 11:08:49

DB2數(shù)據(jù)移動(dòng)

2010-07-27 15:52:09

DB2數(shù)據(jù)移動(dòng)

2010-09-01 13:38:41

DB2數(shù)據(jù)復(fù)制

2010-07-30 10:32:31

DB2數(shù)據(jù)移動(dòng)

2010-08-17 15:24:43

DB2數(shù)據(jù)移動(dòng)

2010-08-02 10:06:43

DB2數(shù)據(jù)移動(dòng)

2010-08-02 14:34:53

DB2數(shù)據(jù)移動(dòng)

2010-08-09 10:00:25

DB2數(shù)據(jù)移動(dòng)

2010-08-25 10:50:48

DB2數(shù)據(jù)庫

2010-11-03 16:21:18

DB2數(shù)據(jù)庫授權(quán)

2010-11-02 09:56:14

DB2目錄結(jié)構(gòu)

2010-11-03 16:50:23

DB2目錄結(jié)構(gòu)

2010-09-07 09:25:21

IBM DB2

2010-07-27 09:29:40

DB2數(shù)據(jù)移動(dòng)

2010-09-06 10:00:00

DB2數(shù)據(jù)庫

2010-09-07 08:27:17

DB2常用函數(shù)

2011-03-25 14:07:12

IBMDB2數(shù)據(jù)庫數(shù)據(jù)移動(dòng)

2011-09-02 13:50:36

OracleDB2數(shù)據(jù)存儲(chǔ)模式

2011-08-23 09:23:35

DB2OLAP函數(shù)OLTP
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)