Sqlite DB使用例子
前一阵字做项目(嵌入式linux),由于要保存大量的数据,而且最长要保存30天的时间。本来打算保存到文件中,每次启动应用程序的时候重新解析一遍,可是当数据量很大的时候,就出现效率的问题了。所以最后还是放弃了使用文件的打算,决定使用数据库存取数据。
linux下的数据库也很多,有开源的,也有收费的。对于我们来说,肯定要使用开源的数据库。以前用过Berkely DB,但是需要licience。所以结合效率性能以及大小限制,最终选定了Sqlite DB。我们对它的评价是“sqlite是一个优秀的完全free的开源数据项目”。
下面是一个简单的使用实例:
int main( int argc, char **argv )
{
sqlite3 *db;
sqlite3_stmt * stmt;
const char *zTail;
//打开数据库
int r = sqlite3_open("mysqlite.db",&db)
if(r){
printf("%s",sqlite3_errmsg(db));
}
//创建Table
sqlite3_prepare(db,
"CREATE TABLE players ( ID INTEGER PRIMARY KEY, name TEXT, age INTERER );",
-1,&stmt,&zTail);
sqlite3_step(stmt);
sqlite3_finalize(stmt);
//插入数据
sqlite3_prepare(db,
"INSERT INTO players (name,num) VALUES(?,?);",
&nbs
相关文档:
http://www.umgr.com/blog/PostView.aspx?bpId=36294
1. 执行sql语句
int sqlite3_exec(sqlite3*, const char *sql, sqlite3_callbacksql 语法
, void *, char **errmsg );
这就是执行一条 sql 语句的函数。
第1个参数不再说了,是前面open函数得到的指针。说了是关键数据结构。
第2个参数const char ......
sqlite是不错的内存数据库,内存数据库是处理大量并发数据的优先选择。但有些大量数据的并发并不是数据处理本身的问题,例如逻辑上必须有先后次序的数据是并发速度不能解决的问题。抛开这些问题一个简单大容量的解决方案是用一个内存数据库做前端一个硬盘数据库做后端,内存数据库定期把数据同步到后端的硬盘数据库。这个方 ......
自几十年前出现的商业应用程序以来,数据库就成为软件应用程序的主要组成部分。正与数据库管理系统非常关键一样,它们也变得非常庞大,并占用了相当多的系
统资源,增加了管理的复杂性。随着软件应用程序逐渐模块模块化,一种新型数据库会比大型复杂的传统数据库管理系统更适应。嵌入式数据库直接在应用程序进程
中 ......
sqlite官方站
http://www.sqlite.org/
SQL Syntax
http://www.sqlite.org/lang.html
sqlite中文站
http://www.sqlite.com.cn/
http://www.sqlitechina.org/
建立数据库档案
用sqlite3建立数据库的方法很简单,只要在shell下键入(以下$符号为shell提示号,请勿键入):
$ sqlite3 foo.db
如果目录下没有fo ......