SQLite3建立資料庫的方法 和 SQLite從Excel檔案中匯入資料 及 python/qpython sqlite 中文 亂碼
之一 有關SQLite3使用:
1.將sqlite3.exe檔案放在任何位置(本人放在E:\Php)
2.在CMD下進入到E:\Php下(cd .. cd E:\php)
PS:進入其他驅動盤不需要打cd命令,比如進入D盤打D:\就可以了。cd命令是開啟檔案目錄下的檔案。
3.在CMD命令提示符下輸入sqlite3.exe test.db(test.db是資料庫名)回車,執行完後,命令提示符自動跳轉到"SQLITE>"狀態。
注意:這時test.db資料庫確實已經建立好了但是還是個臨時所以現在要輸入SQL命令 ,這時還是看不到這個資料庫!等表格建立或關閉sqlite3
4.create table book(id integer primary key, roomname nvarchar(20), mapname nvarchar(20)),再往表中填充資料值後,就可以看到E:\php下的這個資料庫檔案了。
5.如果下次還要使用此資料庫時仍然使用sqlite3.exe test.db,即可進入此資料庫
==========================================
之二 將Excel檔案匯入sqlite資料庫,下面是幾個步驟:
1、sqlite資料庫中資料庫表的定義:
create table book(id integer primary key, roomname nvarchar(20), mapname nvarchar(20));
- PS:請注意語句末尾加上分號回車執行哦!!!切記!!!
- PS:有時會出現“ INSERT failed: datatype mismatch”錯誤,導致excel表不能完全匯入。這是由於主鍵的問題。只需重新建立一次表並在建立表時將紅色的“primary key”刪除即可。
2、將Excel之中儲存的資料另存為csv格式bookroom.csv,注意不要帶表頭,只要資料就行。
下面的文字轉碼是非常重要,由於excel預設是gb2312編碼或其他形式,需要將其轉為utf-8編碼形式,不然匯入sqlite中後,中文必然是亂碼的。具體操作如下:將excel儲存成.csv格式,關閉檔案,用系統自帶的記事本開啟剛才儲存的.csv檔案,然後另存為UTF-8格式文字(在儲存對話方塊下側的編碼中選擇utf-8即可)。經過自己多次實踐,在將csv檔案轉換為utf-8時,採用記事本轉換方式儲存後,sqlite資料庫檔案第一條記錄總是不能正常讀出來,其它條目也常常產生中文字元亂碼。
經自己多次實踐嘗試,建議在將excel的.csv檔案轉為uft8格式時,優先採用軟體notepad++ (用EmEditor轉換 時/後 也容易出錯導致中文亂碼情況),開啟軟體notepad++
匯出之後的資料如下:
- 30001,文理館流通部,WenLiGuanLiuTongBu.png
- 30002,經管院圖書分館,JingGuanYuanTuShuFenGuan.png
- sqlite3 test.db
- sqlite> .separator ','
- sqlite> .import bookroom.csv bookroom
import命令的格式:
- .import <輸入檔名> <插入表名>
4、這樣資料就匯入到了bookroom表中了,如下測試(注意sql語句末尾加上分號):
- sqlite> select * from bookroom;
大功告成了!
================================================================
之三 excel檔案匯入sqlite資料庫,用python查詢結果顯示亂碼的情況,請參閱如下經典文章:
PS:建議在轉換為utf8格式的步驟時,採用軟體notepad++將excel的.csv檔案轉換為“ 以UTF-8 無 BOM 格式編碼”。