日常工作中需處理大批量數(shù)據(jù),通常一個表格就三四十萬行記錄,用EXCEL處理顯得效率低下。而由于版權(quán)或操作過于復(fù)雜等原因,并非所有公司電腦都安裝了ACCESS之類的數(shù)據(jù)庫。
DerbyTool是一個微型數(shù)據(jù)庫,可快速將外部數(shù)據(jù)導(dǎo)入到內(nèi)置數(shù)據(jù)庫中,利用數(shù)據(jù)庫高效處理數(shù)據(jù),再將結(jié)果導(dǎo)出。
DerbyTool既能滿足基本的日常工作需要,又能為初學(xué)數(shù)據(jù)庫的人使用。我們后續(xù)將持續(xù)升級本軟件。
使用指南:
DerbyTool的核心用法是:將文本格式的數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫中,利用數(shù)據(jù)庫的高效性處理數(shù)據(jù),再將結(jié)果導(dǎo)出。
我們使用一個案例來解釋DerbyTool的用法。我們將主要精力放在數(shù)據(jù)的導(dǎo)入、導(dǎo)出上;而中間的處理過程——以后或許會實現(xiàn)更傻瓜化的操作功能——當(dāng)前恐怕需要您有一些SQL基礎(chǔ)了。
1、有一個文本格式的數(shù)據(jù)文件staff.csv,它用逗號,分割每一列,它的首行是標(biāo)題行,一些數(shù)字字段被等于號=和雙引號"包起來(這些字段通常是身份證、物體代碼之類,這樣做的目的,是為了防止用EXCEL打開時,字段被顯示成科學(xué)計數(shù)法或隱藏了前面的數(shù)字0,從而無法表示正確的代碼)?蓮木W(wǎng)盤"DerbyTool"文件夾下的“例子”中下載:http://pan.baidu.com/s/1qWNRmkk
用表格軟件打開是這樣子的:
2、打開DerbyTool,并打開這個文本數(shù)據(jù)
3、這個文本數(shù)據(jù)是以逗號,分割各列,故而在“分割符”那里填寫,(也有是用|或;分割,那就填入|或;)。第一列中的=和"只是為了應(yīng)對用EXCEL打開時不要采用科學(xué)計數(shù)法而已,并無實質(zhì)意義,我們希望將這兩個符號去掉,所以在“清除字符”中填入=|"(如果要清除多個字符,用豎線符號|分隔,就象這個例子中一樣)。
很遺憾的是,第一個版本中的程序不會自動刷新,需要手動點擊“刷新表格”按扭。
4、創(chuàng)建一個數(shù)據(jù)庫表staff,用于存儲外部文本數(shù)據(jù)。
在上方的窗格中輸入:create table staff(id varchar(20), name varchar(30), birthday date, salary float)
并依次點擊工具欄中的“執(zhí)行SQL命令”、“Commit確認(rèn)”按扭。
(注意:每執(zhí)行一個動作,都需要點擊“Commit確認(rèn)”按扭才會真正保存,否則當(dāng)程序退出時,數(shù)據(jù)將丟失。)
5、選擇我們剛才新建的數(shù)據(jù)庫表staff(如下圖所示)。
由于第一行是標(biāo)題行,我們并不希望導(dǎo)入數(shù)據(jù)庫中,故而“跳過前行”中填入1,表示第1行不導(dǎo)入。
很遺憾的是,這個版本中的“外部數(shù)據(jù)”不會自動關(guān)聯(lián)數(shù)據(jù)庫表,故而需要再次點擊“刷新表格”按扭——必須操作這一步。
6、返回“外部數(shù)據(jù)”面板,在需要導(dǎo)入數(shù)據(jù)庫的列的標(biāo)題上點擊右鍵,選擇對應(yīng)的數(shù)據(jù)表字段。
”去除前后空白“并不實際發(fā)揮工作,需待下一版本改進(jìn);
最下方面的”yyyyMMdd"為日期時間格式,只有但字段為日期時間時才會發(fā)揮作用,其它數(shù)據(jù)類型則會忽略這個選項
如果是日期格式,則需要根據(jù)實際情況修改格式,可參考下圖設(shè)置,其中:y代表年,M(大寫)代表月,d代表日,H代表24小時制的是,h代表12小時制的時,m(小寫)代表分,s代表秒。
7、依次輸入各列對應(yīng)的字段后,點擊“導(dǎo)入至數(shù)據(jù)庫”按扭“(見上圖)。此時,數(shù)據(jù)就被導(dǎo)入至數(shù)據(jù)庫中,導(dǎo)入的效率很高。在上面的窗格中輸入查詢命令: select * from staff
可發(fā)現(xiàn)數(shù)據(jù)已被導(dǎo)入
8、如果要將查詢結(jié)果導(dǎo)出,則點擊工具欄中的“執(zhí)行結(jié)果至文件”即可,如下圖所示:
9、用表格軟件打開剛才導(dǎo)出的結(jié)果,如下圖所示: