標籤:
一、sqlite匯入excel
1、開啟要匯入的excel --- 另存新檔(2007版點擊左上方OFFICE表徵圖即可找到) --- 檔案類型:CSV類型
(提示什麼不相容什麼的,一律點確定。)
2、開啟sqlite expert ,選擇建好的資料庫檔案(或者是匯入的已存在的db檔案,或者是自己建立一個.db資料庫檔案).
右擊檔案名稱---選擇最後一個import text file(CSV,TSV)
3、(如果沒有建過和這個excel名相同的表)右邊Destination選擇第一項new table建立這個表,名字為xxx 。
如果選第二項,先確保你的資料庫中有其他表(或者自己建立),代表你可以將excel表中資料插入到已有的表中。(請確保列名,即欄位名最好一樣。)
當然你也可以在右上方的那個"..."表徵圖,瀏覽找到你要添加的csv檔案.
4、最後點擊左下角start即可開始匯入資料. 完成後,左邊會出現剛才建立的表xxx,點擊螢幕中間靠右的DATA欄,即可看到匯入的資料。(代表提示匯入了多少行用了多久)
二、可能會報的錯誤。
情況一: field is missing (即:欄位名丟失)
原因是你的excel表格第一行加了欄位(即列名),如什麼age name type或者其他中文.
我的解決方案:
刪掉CSV第一行的所有欄位,在sqlite expert裡直接用SQL語句建立欄位,點擊SQL,輸入以下語句來建立欄位,按Execute SQ按鈕。(代表建立一個表Persons ,有4個欄位名,類型,可輸入字元數)可見想要的欄位已經建立成功,因此只要按照第一個步驟匯入CVS資料到表中即可。
情況二:資料太多會導不全 (天生bug)
由於有8W多條資料,每次只能導1W多條,還找不到原因。從早上弄到下午四點多,真是很惱火。記得一個同事半個月前跟我說過要分幾次導,我才想起來。在這裡要真心#感謝同事李勝# ,幫了我大忙。
我的解決方案:
第一次導也許只有1W多條資料,然後你把你的CSV檔案開啟,把已經導進的資料刪除,儲存CSV檔案,繼續用sqlite expert進行匯入,下一次可能是8k條,可能是1W條,重複你的步驟,直至完全匯入到表中。(即CSV檔案不要加第一列欄位,直接導到已存在的表中,匯入一次,查看DATA欄導了多少資料。然後把CSV中匯入過的刪掉繼續重複.)
三、(同一個.db資料庫)把一個表的資料,插入到另一個表中。
按照上面的方法,把你的excel另存新檔CSV檔案(見第一個步驟)
直接在sqlite expert的SQL模組中添加下面兩行SQL語句(即將表B的資料添加到表A後面)
//語句
insert into 表A
select * from 表B
//語句
需要注意的是,這裡的作用主要是適用於表B(沒有第一列欄位),直接添加到表A。(因此有了欄位,成為了插入表A中的資料)
而且如果因為欄位名不一樣,插入資料會報錯。(比如把[123]表的資料插入到Persons表)
個人經驗所談,希望能協助大家解決同樣的問題。
### Writer :JiaYi < thankyou! > ###
sqlite expert匯入excel表格 (包括使用問題、以及把 一個表的資料插入到另一個表中)