SQLite C API 备忘录

一、数据库打开与关闭

sqlite3_open()

作用:

打开数据库,函数:

cpp 复制代码
int sqlite3_open(
    const char *filename,
    sqlite3 **ppDb
);

参数:

参数 说明
filename 数据库文件路径
ppDb 返回数据库对象

例子:

cpp 复制代码
sqlite3 *db;

sqlite3_open(
    "/home/rocky/my.db",
    &db
);

效果,自动创建。

cpp 复制代码
my.db不存在
复制代码
my.db存在

打开,成功:

复制代码
SQLITE_OK

sqlite3_close()

作用:

关闭数据库连接。

cpp 复制代码
int sqlite3_close(sqlite3 *db);
复制代码
sqlite3_close(db);

类似:

复制代码
fclose(file);

不用数据库一定关闭。


二、执行SQL语句(最常用)

sqlite3_exec()

这是最重要的函数。

cpp 复制代码
int sqlite3_exec(
    sqlite3 *db,
    const char *sql,
    int (*callback)(),
    void *arg,
    char **errmsg
);

参数:

参数 作用
db 数据库对象
sql SQL语句
callback 查询结果处理函数
arg 传给callback的数据
errmsg 错误信息

SQLite callback 的特点:

一行数据,调用一次回调函数。

执行创建表

cpp 复制代码
char *sql=
"create table stu(id int,name text);";

sqlite3_exec(
    db,
    sql,
    NULL,
    NULL,
    NULL
);

因为:

CREATE没有返回结果

所以:

cpp 复制代码
callback=NULL
函数 作用 使用频率
sqlite3_open 打开数据库 ★★★★★
sqlite3_close 关闭数据库 ★★★★★
sqlite3_exec 执行SQL ★★★★★
sqlite3_errmsg 获取错误 ★★★★★
callback 处理查询结果 ★★★★★
sqlite3_get_table 简单查询 ★★★
sqlite3_free_table 释放查询结果 ★★★
sqlite3_prepare_v2 预处理SQL ★★★★★
sqlite3_bind_int 绑定参数 ★★★★★
sqlite3_bind_text 绑定字符串 ★★★★★
sqlite3_step 执行预处理SQL ★★★★★
sqlite3_column_int 取字段 ★★★★★
sqlite3_column_text 取字符串 ★★★★★
sqlite3_finalize 释放stmt ★★★★★
相关推荐
TDengine (老段)2 小时前
昆仑数智选择 TDengine TSDB,提升页岩气生产运行可视化与精细化管理能力
大数据·数据库·物联网·时序数据库·tdengine·涛思数据
陆水A2 小时前
【问数系统】SQL跑对了图表却空了?打通问数系统最后1公里的3个API坑
大数据·数据库·自然语言处理·big data·etl工程师
海外数字观察家2 小时前
品未云:泰国华商批发零售一体化 ERP,破解本土软件适配难题|CSDN 技术分享
网络·数据库·人工智能
不会c+2 小时前
C语言:入门到精通(408考研版)系列七 派生的数据类型
c语言·开发语言
陳陈陳3 小时前
LLM的"消化系统":一文讲透RAG文档加载与智能切割
数据库·langchain·llm
IvorySQL3 小时前
云环境下PostgreSQL的Cgroup内存管理实践
java·数据库·postgresql
霸道流氓气质3 小时前
CodeBuddy中配置Redis MCP 连接与排错实战
数据库·redis·缓存
程序猿编码4 小时前
没有AI框架,没有GPU,一个C语言文件跑通大模型
c语言·开发语言·人工智能·深度学习·ai·大模型
王琦03184 小时前
第一章 数据库-理论基础
数据库