http://blog.csdn.net/johnnycode/article/details/7413111sql
今天遇到 Oracle 導出的12萬條CSV格式數據導入 Android Sqlite 中 ,整個流程記錄下,分享一下,由於處於考慮數據保密問題,下列數據都爲 Demo 數據。shell
一、首先須要將 CSV 文件處理下字符集的問題 ,衆所周知 sqlite 默認字符集 UTF-8 ,涉及中文的地方若是不設置那麼導入sqlite的數據將會亂碼。數據庫
右鍵選擇 CSV 文件,打開方式爲 記事本 ,將會看到以下數據oracle
須要將第一行列去除,而後將分號 」 同時去掉,最終結果爲編碼
下面這步最重要,將文件另存爲,最下方 編碼 選擇 UTF-8 ,而後另存到 C 盤根目錄便可。spa
二、由於PC沒有安裝 sqlite ,因此這裏將 sqlite 操做交給 Android 手機來處理。.net
首先將 數據壓入 Android 手機 sd 卡中code
C:\Users\John>adb push c:/employee.csv /mnt/sdcard 0 KB/s (89 bytes in 0.191s)
使用 adb 命令鏈接手機,進入 sd 卡目錄sqlite
C:\Users\John>adb shell $ cd /mnt/sdcard/ cd /mnt/sdcard/
使用 sqlite3 建立 mydata.db 數據庫,如不指定路徑,那麼 sqlite3 將會默認將數據庫文件建立運行 sqlite3 的目錄中,建表語句能夠從 oracle 中複製便可。建表完畢,可使用 .ta 命令查看新建表是否成功。blog
$ sqlite3 mydata.db sqlite3 mydata.db SQLite version 3.6.22 Enter ".help" for instructions sqlite> create table EMPLOYEE(xh VARCHAR2(60),xm VARCHAR2(100),bm VARCHAR2(100),dz VARCHAR2(200)); create table EMPLOYEE(xh VARCHAR2(60),xm VARCHAR2(100),bm VARCHAR2(100),dz VARCHAR2(200)); sqlite> .ta .ta EMPLOYEE
三、導入 csv 數據文件到新建的 employee 表中 ,須要作點準備工做。由於 csv 默認數據分割符爲逗號 「,」 而 sqlite 默認數據分割符爲 「|」 ,先用 .show 命令確認下,而後再改,固然也能夠先改 而後再用 .show 來查看,運行 sqlite 命令必定要注意他自身命令都是要 點 開頭滴。
sqlite> .show .show echo: off explain: off headers: off mode: list nullvalue: "" output: stdout separator: "|" width: sqlite> .separator "," .separator ","
四、上述準備工做作好以後,就能夠正式導入數據。
.import //導入命令
/mnt/sdcard/employee.csv //csv文件路徑
employee //csv文件導入指定表
sqlite> .import /mnt/sdcard/employee.csv employee .import /mnt/sdcard/employee.csv employee
展現結果,OK 沒啥問題。
sqlite> select * from employee; select * from employee; "XH","XM","BM","DZ" "1","王軒宇","研發部","山東青島" "2","王雲汐","運營部","山東青島"
參考文章: