文字資料可以這樣匯入資料庫
阿新 • • 發佈:2018-12-11
哈嘍,大家好,今天分享一個如何把文字資料快速匯入到Oracle資料庫的一個方法。
首先介紹一下sqlldr工具,它是由Oracle提供,專本用於把文字資料匯入到Oracle資料庫。它需要兩個檔案,一個是文字資料檔案,另外一個是ctl檔案。ctl檔案主要是配置一些引數,比如文字資料的分割符,首行或其他具體行需不需要跳過,匯入到哪張表,欄位都哪些,這些欄位都是什麼屬性等等。
首先我設計的一個表——xs,只有兩個欄位,xuehao,xingming,都是char型。
現在我的文字資料命名為ctl_test.dat,裡面只包含五條資料,每一個欄位都寫在雙引號裡面,欄位與欄位之間用逗號隔開。
"181022","jing" "181023","heng" "181024","yuan" "181025","xin" "181026","ting"
現在介紹一下CTL檔案。
OPTIONS (skip=0) --設定跳過某行不進行讀取。 LOAD DATA INFILE "/home/oracle/Desktop/ctl_test.dat" --truncate是將表資料清空。預設是insert,但需要truncate將表清空,否則會報錯。append是在原表後面追加。replace是將表中資料進行覆蓋。 append INTO TABLE xs -- 要插入記錄的表 Fields terminated by "," -- 資料中每行記錄用 "," 分隔 Optionally enclosed by '"'--文字資料中的欄位在雙引號裡trailing nullcols --這裡主要配置表的欄位 ( xuehao, --欄位可以指定型別,預設CHARACTER型別 xingming )
首先看看錶中的原資料。
現在執行sqlldr命令。
如上圖左邊所示,資料匯入成功了,這個時候的心情可是無比的喜悅啊。右邊第二個框裡面是執行sqlldr的命令,其中c##test是Oracle資料庫的一個使用者名稱,12345是密碼。
執行成功或失敗之後一般會生成另外兩個檔案,一個是日誌檔案.log,記錄執行結果等。另外一個是.bad檔案,儲存的匯入失敗的資料。其他引數後續再繼續研究學習。