安装sqlite3
sqlite是一个轻型的关系型数据库。它的设计目标是针对嵌入式设备,目前已经在很多嵌入式产品中使用了它。也可以实现像用户登录验证这样的功能。
嵌入式数据库具有这样的特点:
- SQLite的数据库权限只依赖于文件系统,没有用户帐户的概念。
- SQLite有数据库级锁定,没有网络服务器。
- SQLite需要的内存开销很小,适合用于嵌入式设备。需要做的仅仅是把它正确的编译到你的平台下。
笔者在ubuntu14.04环境下进行安装。
- 执行命令
sudo apt-get install sqlite sqlite3
,安装即可完成。 - 执行命令
sqlite -version
,可以查看 sqlite 的版本 - cd ~下创建一个目录sqlite (
mkdir sqlite
),执行命令sqlite3 test.db
,创建一个名为test.db 的数据库 - 输入
create table mytable(ld,name,age);
创建了一个名字叫mytabel的数据表,该数据表内定义了三个字段,分别为 ld、name、age。 - 输入
insert into mytable(ld,name,age) values(1, "huangyi",24);
向数据表中插入第1个数据; - 输入
insert into mytable(ld,name,age) values(2, "wangrubi",24);
向数据表中插入第2个数据;
执行命令 select * from mytable;
可以显示数据表中的所有数据:
sqlite> select * from mytable;
ld|name|age
1|huangyi|24
2|wangrubi|24
sqlite python库
sqlite库已经成为了python的标准库,接口和使用说明参见[1]。
SQLite is a C library that provides a lightweight disk-based database that doesn’t require a separate server process and allows accessing the database using a nonstandard variant of the SQL query language. sqlite3 was written by Gerhard Häring and provides a SQL interface compliant with the DB-API 2.0 specification。
实现
把python库提供的操作函数封装成类和成员函数的方式来调用。
在终端下执行 ./SqliteFunction
之后,进入到test.db数据库中可以看见多了一条记录 3|vitual|0
总结
以上就是使用python操作sqlite数据库的简单例子,其实开始笔者想做的是用C++调用Python接口来操作sqlite数据库,借此复习一下python和C++。而且,sqlite[3]中已经直接提供了C/C++接口。
如果在嵌入式系统中需要数据库存储用户数据(如GPS位置,传感器数据)或者大量的命令参数(如某些硬件控制的码表),sqlite是一个不错的选择。
Reference
[1].http://docspy3zh.readthedocs.org/en/latest/library/sqlite3.html
[2].http://my.oschina.net/mlgb/blog/288261
[3].http://www.sqlite.org/cintro.html
[4].http://www.blogjava.net/xylz/archive/2012/09/25/388519.html
[5].http://blog.csdn.net/jianchi88/article/details/7037524