3.2 Linux下sqlite3的C语言开发
sqlite3里最常用到的是sqlite3 *类型。从数据库打开时开始,sqlite3就要为这个类型准备好内存,直到数据库关闭,整个过程都需要用到这个类型。数据库打开时起,这个类型的变量就代表了所要操作的数据库。
(1)打开数据库API接口函数
int sqlite3_open(文件名, sqlite3 *);
用这个函数开始数据库操作。需要传入两个参数,其中之一是数据库文件名,例如:/home/test.db文件名不需要一定存在,如果此文件不存在,sqlite3会自动建立;如果存在,就尝试把它当数据库文件打开。
sqlite3 * 参数即前面提到的关键数据结构。函数返回值表示操作是否正确,如果是SQLITE_OK则表示操作正常。相关的返回值sqlite3定义了一些宏,具体这些宏的含义可以参考sqlite3.h文件。
(2)关闭数据库API接口函数
int sqlite3_close(sqlite3 *);
如果前面用sqlite3_open开启了一个数据库,结尾时不要忘了用这个函数关闭数据库。
(3)执行SQL语句API接口
由于嵌入式sqlite3数据库支持SQL语言,因而调用C中相关执行函数就如同在终端下操作数据库一样方面快捷,下面是具体的API函数:
这就是执行一条sql语句的函数。
Int sqlite3_exec(sqlite3 * db, const char *sql,sqlite3_callback,Void * ,char ** errmsg);
参数1是调用打开数据库函数sqlite3_open()打开的数据库对象。
参数2 是一条待执行的SQL语句,其语法格式同标准SQL语言规范一样,如创建 table时插入的记录如下:
create table student(id varchar(10) primary key, age smallint);
此语句创建了名为student的表,表中定义了id(学号)和年纪两个变量,其中id是主键。
Insert into student values(12345678,21);
此语句向student表中插入一组数据(12345678,21),其中学号为12345678,学生年龄为21。