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*); 功能:通过出错的句柄返回错误信息 参数:出错的句柄 返回值:对应的错误信息

相关推荐
Nturmoils7 小时前
集中式与分布式怎么选:从订单读写看 KingbaseES 的架构边界
数据库
xiaomuzuirenzhen7 小时前
大专电子商务从事电商运营分析师需要考证吗?
大数据·数据库
翔云1234569 小时前
RocksDB中,客户端每写入一次数据,需要访问几次磁盘
运维·数据库·mysql
DevOpenClub9 小时前
职教高考控制线 API:招生类别枚举、筛选与空分数含义
java·数据库·高考
GeW11 小时前
新质生产力路线图解读:数据库性能优化与Linux调优专场
linux·数据库
在多学一点12 小时前
MYSQL第二次作业
android·数据库·mysql
Risehuxyc13 小时前
Microsoft.Data.Sqlite体验
数据库·sqlite
骑着蜗牛撵大象32713 小时前
MySQL 8.0 迁移后 SQL 变慢:执行计划里 3 类被忽略的成本差异
android·数据库·sql·mysql·优化器·执行计划
ZENERGY-众壹14 小时前
告警风暴怎么压?100MW 电站监控平台告警引擎架构复盘
数据库·架构·iot·电站监控
zhengfei61115 小时前
Go-fastdfs /reload 未授权访问: 有效PoC
数据库·sql