sqlite3数据库操作接口详细整理,以及常用的数据库语句

sqlite3_open

int sqlite3_open( const char *filename, /* Database filename (UTF-8) */ sqlite3 **ppDb /* OUT: SQLite db handle */ ); 功能:打开一个数据库,如果数据库不存在,则创建一个数据库 参数1:要打开的数据库的名字,是一个字符串 参数2:数据库操作句柄,是一个二级指针,需要我们传入一级指针的地址 返回值:成功返回SQLITE_OK,失败返回一个错误码(非linux的错误码),可以使用sqlite_errmsg来获取错误信息,由sqlite3_errcode返回错误码值

sqlite3_close

int sqlite3_close(sqlite3*); 功能:关闭数据库,断开句柄所拥有的资源 参数:数据库指针 返回值:成功返回SQLITE_OK,失败返回其他错误码

sqlite3_errcode

int sqlite3_errcode(sqlite3 *db) 功能:通过错误句柄返回错误码 参数:错误句柄 返回值:错误码

回调函数

int callback(void* arg, int cols,char** col_text, char** col_name) 功能:处理sql语句结束后的结果集,主要用于处理select语句 参数1:exec函数的第三个参数,用于主调函数和被调函数之间数据的交流 参数2:sql语句执行过后结果集的列数 参数3:查找的结果集中的相关列的文本内容 参数4:查找的结果集中的相关列的名称 返回值:0表示该函数调用成功,其他整数表明调用失败,如果该函数调用失败,则exec函数也会失败,返回结果就是该函数的返回值

sqlite3_get_table

int sqlite3_get_table( sqlite3 *db, /* An open database */ const char *zSql, /* SQL to be evaluated */ char ***pazResult, /* Results of the query */ int *pnRow, /* Number of result rows written here */ int *pnColumn, /* Number of result columns written here */ char **pzErrmsg /* Error msg written here */ ); 功能:通过执行sql语句,得到结果集中的内容 参数1:数据库 参数2:要执行的sql语句 参数3:查询的结果,需要定义一个二级指针变量,将地址进行传递 参数4: 查询结果的行数 参数5:查询结果的列数 参数6:错误信息 返回值:成功返回SQLITE_OK,失败返回非0的错误码

sqltie3_free_table

void sqlite3_free_table(char **result); 功能:释放表的空间 参数:通过sql语句查询的结果

sqlite3_exec

int sqlite3_exec( sqlite3* db, /* An open database */ const char *sql, /* SQL to be evaluated */ int (*callback)(void*,int,char**,char**), /* Callback function */ void *arg, /* 1st argument to callback */ char **errmsg /* Error msg written here */ ); 功能:调用该函数,执行sql语句 参数1:已经被打开的数据库 参数2:要执行的sql语句 参数3:回调函数,主要用于数据库查找时,处理查找的结果集的函数,如果不需要处理sql语句的结果,则填NULL即可 参数4:参数3的第一个参数 参数5:错误信息 返回值:成功返回SQLITE_OK,失败返回其他错误码

sqlite3_errmsg

const char *sqlite3_errmsg(sqlite3*); 功能:通过出错的句柄返回错误信息 参数:出错的句柄 返回值:对应的错误信息

相关推荐
Rookie也要加油5 分钟前
01_SQLite
数据库·sqlite
liuxin334455669 分钟前
教育技术革新:SpringBoot在线教育系统开发
数据库·spring boot·后端
看山还是山,看水还是。1 小时前
MySQL 管理
数据库·笔记·mysql·adb
fishmemory7sec1 小时前
Koa2项目实战2(路由管理、项目结构优化)
数据库·mongodb·koa
momo小菜pa1 小时前
【MySQL 09】表的内外连接
数据库·mysql
Jasonakeke1 小时前
【重学 MySQL】四十九、阿里 MySQL 命名规范及 MySQL8 DDL 的原子化
数据库·mysql
程序猿小D1 小时前
第二百六十九节 JPA教程 - JPA查询OrderBy两个属性示例
java·开发语言·数据库·windows·jpa
小宇成长录2 小时前
Mysql:数据库和表增删查改基本语句
数据库·mysql·数据库备份
团儿.2 小时前
解锁MySQL高可用新境界:深入探索MHA架构的无限魅力与实战部署
数据库·mysql·架构·mysql之mha架构
程序猿小D3 小时前
第二百六十七节 JPA教程 - JPA查询AND条件示例
java·开发语言·前端·数据库·windows·python·jpa