Linux C SQLite3 编程
SQLite3
SQLite是一个轻量级的数据库。和常用的MySQL大同小异。和MySQL相比,数据类型基本一样,只是sqlite的指令都是以"."开头(如:mysql中查看当前有哪些数据库是“show databases",而sqlite中是".databases")。当然,SQL语句都是一样的语法规则。
- Host System: Archlinux
- gcc: 4.6.1 20110819
- sqlite3: 3.7.8 20110919
系统一般没有默认安装sqlite数据库,所以先要安装sqlite3:
- # pacman -S 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("test.db", &db);
- 关闭数据库
- sqlite3_close(db);
- sqlite3_close(db);
- 执行sql语句(以创建表为例)sqlite3_exec中第一个和第二个参数的意义很好理解。第三个参数是一个回调(callback)函数。第四个参数可用于给回调函数传入一个参数。第五个参数为这条sql语句执行后的返回。我试了好几次,第五个参数的返回值打印出来都是乱码,所以建议直接查看sqlite3_exec函数的返回指,它返回一个整型的数,可以通过这个数字来得知的执行结果。
- 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);
相关推荐
IT之家 2020-03-11
graseed 2020-10-28
zbkyumlei 2020-10-12
SXIAOYI 2020-09-16
jinhao 2020-09-07
impress 2020-08-26
liuqipao 2020-07-07
淡风wisdon大大 2020-06-06
yoohsummer 2020-06-01
chenjia00 2020-05-29
baike 2020-05-19
扭来不叫牛奶 2020-05-08
hxmilyy 2020-05-11
黎豆子 2020-05-07
xiongweiwei00 2020-04-29
Cypress 2020-04-25
冰蝶 2020-04-20