参考自: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));
- 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++后,在"格式"菜单里选择 “ 以UTF-8 无 BOM 格式编码”就可以了!!!
导出之后的数据如下:
- 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 格式编码”。