linux下,c++连接sqlite3,不需要额外的安装依赖库,linux自带了sqlite3,在编译的时候,只需要将sqlite3的库加入编译参数中即可。sqlite3数据库可以指定数据存储的路径,我们一般使用类似testsqlite3.db这样的文件命名数据库文件,在命令行下连接testsqlite3.db,只需要运行sqlite3 testsqlite3.db即可。无需用户名和密码,数据库也不用指定,本身testsqlite3就是数据库名了,可以直接在库中建表,插入数据。
使用C++连接sqlite3,常用的api就那么几个:
- sqlite3_open() 打开数据库,相当于建立连接。
- sqlite3_exec() 执行sql语句,返回值是执行的结果,如果参数sql是查询语句,需要传入一个回调函数,处理查询结果。
- sqlite3_close() 关闭数据库连接。
这里,编写一个向数据库表user中插入一行记录,然后查询所有记录的代码:
#include <iostream>
#include <string>
#include "sqlite3.h"
using namespace std;
static int callback(void *data,int args_num,char **argv,char **argc){
for(int i=0;i<args_num;i++){
cout<<argc[i]<<" = " <<(argv[i]?argv[i]:"NU