TA的每日心情 | 奋斗 2016-10-11 09:20 |
---|
签到天数: 271 天 连续签到: 1 天 [LV.8]以坛为家I
|
SQLite3
SQLite是一个轻量级的数据库。和常用的MySQL大同小异。和MySQL相比,数据类型基本一样,只是sqlite的指令都是以"."开头(如:mysql中查看当前有哪些数据库是“showdatabases",而sqlite中是".databases")。当然,SQL语句都是一样的语法规则。
- Host System: Archlinux
- gcc: 4.6.1 20110819
- sqlite3: 3.7.8 20110919
系统一般没有默认安装sqlite数据库,所以先要安装sqlite3:可以使用"sqlite3 + 数据库名"来打开一个数据库。
常用函数
- sqlite3_open(const char *filename, sqlite3 **ppDb);
- sqlite3_close(sqlite3 *db);
- sqlite3_exec(sqlite3*, const char *sql, int (*callback)(void*,int,char**,char**), void *, char **errmsg);
这三个函数基本上能完成对sqlite3的所有操作。需要用的头文件为"sqlite3.h"。
打开(新建)数据库sqlite3 *db;
sqlite3_open(<font color="#0000ff">"test.db"</font>, &db);[/code]关闭数据库执行sql语句(以创建表为例)- char sql[128];
- memset(sql, '\0', 128);
- sprintf(sql, "%s%s%s", "create table ", "test_tb", "(id INTEGER PRIMARY KEY, data TEXT)");
- sqlite3_exec(db, sql, NULL, NULL, NULL);
复制代码 sqlite3_exec中第一个和第二个参数的意义很好理解。第三个参数是一个回调(callback)函数。第四个参数可用于给回调函数传入一个参数。第五个参数为这条sql语句执行后的返回。我试了好几次,第五个参数的返回值打印出来都是乱码,所以建议直接查看sqlite3_exec函数的返回指,它返回一个整型的数,可以通过这个数字来得知的执行结果。 |
|