天天看點

SQLite3建立資料庫的方法 和 SQLite從Excel檔案中導入資料 及 python/qpython sqlite 中文 亂碼

參考自:http://blog.chinaunix.net/uid-1844931-id-2981048.html

            http://blog.csdn.net/a535537066/article/details/6694620

            http://blog.csdn.net/geekwangminli/article/details/8007114

之一 有關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));

  1.   PS:請注意語句末尾加上分号回車運作哦!!!切記!!!
  2.   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++ 後,在"格式"菜單裡選擇 “ 以UTF-8 無 BOM 格式編碼”就可以了!!!

導出之後的資料如下:

  1. 30001,文理館流通部,WenLiGuanLiuTongBu.png
  2. 30002,經管院圖書分館,JingGuanYuanTuShuFenGuan.png

3、利用sqlite3的import指令将資料從檔案導入到表中,在執行import之前需要用.separator指令設定資料的分隔符逗号,否者預設的分割符号是豎線'|'。

  1. sqlite3 test.db
  2. sqlite> .separator ','
  3. sqlite> .import bookroom.csv bookroom

import指令的格式:

  1. .import <輸入檔案名> <插入表名>

4、這樣資料就導入到了bookroom表中了,如下測試(注意sql語句末尾加上分号):

  1. sqlite> select * from bookroom;
SQLite3建立資料庫的方法 和 SQLite從Excel檔案中導入資料 及 python/qpython sqlite 中文 亂碼

大功告成了!

================================================================

之三 excel檔案導入sqlite資料庫,用python查詢結果顯示亂碼的情況,請參閱如下經典文章:

解決Excel資料導入sqlite中的中文亂碼問題

PS:建議在轉換為utf8格式的步驟時,采用軟體notepad++将excel的.csv檔案轉換為“ 以UTF-8 無 BOM 格式編碼”。