C语言下使用SQL语言

需头文件:#include<sqlite.h>---需下载

1.sqlite3_open

int sqlite3_open(

const char *filename, /* Database filename (UTF-8) */

sqlite3 **ppDb /* OUT: SQLite db handle */

);

功能:

打开数据库文件(创建一个数据库连接)

参数:

filename:数据库文件路径

ppDb:操作数据库指针存放空间的首地址

返回值:

成功返回SQLITE_OK

失败返回错误码

例如:sqlite3_open("1.db",&ppdb); //ppdb为定义的sqlite3类型的空指针

2.sqlite3_close

int sqlite3_close(sqlite3*);

功能:

关闭数据库连接

3.sqlite3_exec

int sqlite3_exec(

sqlite3*, /* An open database */

const char *sql, /* SQL to be evaluated */

int (*callback)(void*,int,char**,char**), /* Callback function */

void *, /* 1st argument to callback */

char **errmsg /* Error msg written here */

);

功能:

执行一条SQL语句

参数:

sqlite3*: 数据库句柄

sql: 要执行的SQL语句字符串首地址

callback: 只有在select时才会使用,其余调用时传递NULL

void*: 给回调函数的传参

errmsg:出错信息存放空间首地址(使用完毕后使用sqlite3_free释放空间)

返回值:

成功返回SQLITE_OK

失败返回错误码

例如:sqlite3_exec(ppdb,tmpbuf,NULL,NULL,&errmsg); //对数据库操作的命令存在tmpbuf中

查询数据库时的使用:

sqlite3_exec(ppdb,tmpbuf,callback,qwer,NULL,&errmsg);

callback为一个函数,为找到数据后对数据的处理方式 ,其形式必须与规定的形式相同。且该函数为回调函数,所以必须有return 0;否则只能使用一次。在找到一条相关数据后,该函数被调用一次。

int (*callback)(void*,int,char**,char**)----其有四个参数,参数一为sqlite3_exec的第四个参数,参数二为数据的列数,参数三为每列的所有值,参数四为每列的标题。

相关推荐
ltl17 分钟前
ClickHouse Distributed 引擎与分布式查询路由
数据库
Wang's Blog18 分钟前
PostgreSQL笔记60: 权限与角色管理——从层级体系到最佳实践
数据库·笔记·postgresql
whcyhhh1 小时前
头歌实践教学平台:大数据存储2023(六)
大数据·数据库·python
Elastic 中国社区官方博客3 小时前
让大模型思考,让小模型执行:在 Elastic Workflows 中拆分 LLM 成本
大数据·运维·数据库·人工智能·elasticsearch·ai
Faith_xzc3 小时前
一条 SQL 顶一条 Flink 链路?Doris Streaming Job 持续导入全景解析
大数据·数据库·sql·flink
爱学习的小白柏3 小时前
【AI问数技术】多Agent协同架构:查询规划/SQL生成/洞察分析/报告生成
java·网络·人工智能·windows·sql·架构·llama
摆烂z4 小时前
简单理解StarRocks
sql
这个DBA有点耶5 小时前
多模数据库深度解读:从“多库拼装”到“一库多能”的架构演进
数据库·mysql·dba
程序员夏洛6 小时前
MySQL 默认的事务隔离级别是什么?为什么选择这个级别?
数据库·mysql
艺术留白6 小时前
MokaTest使用篇-SQL接口
数据库·sql