SQLITE3 使用总结
SQLite3的确很好用。小巧、速度快。这些天正在研究它,将它移植到ARM系统里面,又有一些收获,这里把我对sqlite3的研究列出来,以备忘记。【其中有摘抄自互联网】 SQLite3提供的是一些C函数接口,你可以用这些函数操作数据库。通过使用这些接口,传递一些标准sql语句(以char *类型)给SQLite3函数,SQLite3就会为你操作数据库。 SQLite3跟MS的access一样是文件型数据库,就是说,一个数据库就是一个文件,此数据库里可以建立很多的表,可以建立索引、触发器等等,但是,它实际上得到的就是一个文件。备份这个文件就备份了整个数据库。 SQLite3不需要任何数据库引擎,这意味着如果你需要SQLite3来保存一些用户数据,甚至都不需要安装数据库。 打开数据库 int sqlite3_open(const char *zFilename,sqlite3 **ppDb) 需要传入两个参数,一是数据库文件名,比如:"/flash/mydb1.db"。文件名不需要一定存在,如果此文件不存在,SQLite3会自动建立它。如果它存在,就尝试把它当数据库文件来打开。sqlite3 **ppDb参数是关键数据结构。这个结构底层细节如何,你不要关它。 函数返回值表示操作是否正确,如果是SQLITE_OK则表示操作正常。相关的返回值sqlite定义了一些宏。具体这些宏的含义可以参考sqlite3.h文件。里面有详细定义(顺便说一下,SQLite3的代码注释率自称是非常高的,实际上也的确很高。只要你会看英文,SQLite3可以让你学到不少东西)。 关闭数据库 int sqlite3_close(sqlite3 *db) 如果用sqlite3_open开启了一个数据库,结尾时不要忘了用这个函数关闭数据库。 使用例题: { sqlite3 *db; int res; res = sqlite3_open("/flash/db1.db",&db); if(res != SQLITE_OK) { return -1; } sqlite3_close(db); } 执行sql语句 int sqlite3_exec(sqlite3 *db,const char *zSql,sqlite3_callback xCallback,void *pArg,char **pzErrMsg) 这就是执行一条sql语句的函数。 第1个参数不再说了,是前面open函数得到的指针。说了是关键数据结构。 第2个参数const char *sql是一条sql语句,以 |