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

相关推荐
马尔代夫哈哈哈36 分钟前
Spring IoC&DI
数据库·sql
液态不合群2 小时前
[特殊字符] MySQL 覆盖索引详解
数据库·mysql
计算机毕设VX:Fegn08953 小时前
计算机毕业设计|基于springboot + vue蛋糕店管理系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
瀚高PG实验室3 小时前
PostgreSQL到HighgoDB数据迁移
数据库·postgresql·瀚高数据库
打码人的日常分享4 小时前
智能制造数字化工厂解决方案
数据库·安全·web安全·云计算·制造
三水不滴4 小时前
Redis 过期删除与内存淘汰机制
数据库·经验分享·redis·笔记·后端·缓存
-孤存-5 小时前
MyBatis数据库配置与SQL操作全解析
数据库·mybatis
2301_822366355 小时前
使用Scikit-learn构建你的第一个机器学习模型
jvm·数据库·python
万邦科技Lafite7 小时前
一键获取京东商品评论信息,item_reviewAPI接口指南
java·服务器·数据库·开放api·淘宝开放平台·京东开放平台
自可乐7 小时前
Milvus向量数据库/RAG基础设施学习教程
数据库·人工智能·python·milvus