如何將TXT,EXCEL或CSV數據導入ORACLE到對應表中
2024-08-29 13:53:35
供稿:網友
方法一,使用SQL*Loader
這個是用的較多的方法,前提必須Oracle數據中目的表已經存在。
大體步驟如下:
1 將excle文件另存為一個新文件比如文件名為text.txt,文件類型選文本文件(制表符分隔),這里選擇類型為csv(逗號分隔)也行,但是在寫后面的control.ctl時要將字段終止符改為','(fields terminated by ','),假設保存到E盤根目錄。
2 如果沒有存在的表結構,則創建,假設表為test,有兩列為dm,ms。
3 用記事本創建SQL*Loader控制文件,網上說的文件名后綴為ctl,其實我自己發現就用txt后綴也行。比如命名為control.ctl,內容如下:(--后面的為注釋,實際不需要)
load data --控制文件標識
infile 'e:/text.csv' --要輸入的數據文件名為test.txt
append into table test --向表test中追加記錄
fields terminated by X'09' --字段終止于X'09',是一個制表符(TAB)
如果字段數據有"",可加上optionally enclosed by '"'
trailing nullcols
(dm,ms) --定義列對應順序
備注:數據導入的方式上例中用的append,有一下幾種:insert,為缺省方式,在數據裝載開始時要求表為空;append,在表中追加新記錄;replace,刪除舊記錄,替換成新裝載的記錄 ;truncate,同replace。
4 在命令行提示符下使用SQL*Loader命令實現數據的輸入
sqlldr userid=system/manager@orcl control='e:/control.ctl' log=e:/log.txt bad=e:/bad.txt
方法二 利用PLSQL Developer
使用PLSQL Developer工具,這個可是大名鼎鼎的Oracle DBA最常使用的工具。
在單個文件不大的情況下(少于100000行),并且目的表結構已經存在的情況下——對于Excel而言肯定不會超過了,因為excel文件的最大行為65536—— 可以全選數據COPY ,然后用PLSQL Developer工具。
1 在PLSQL Developer的sql window里輸入select * from test for update;
2 按F8執行
3 打開鎖, 再按一下加號. 鼠標點到第一列的列頭,使全列成選中狀態,然后粘貼,最后COMMIT提交即可。