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 ★★★★★
相关推荐
Elastic 中国社区官方博客2 小时前
搜索倍增器:推动收入、生产力和 AI 实现规模化
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
xu_wenming2 小时前
嵌入式软件架构中的6种解耦艺术
c语言·驱动开发·嵌入式硬件·架构
保定公民4 小时前
达梦数据库存储过程中的数组类型详解:基础数组与记录数组的差异化应用
数据库·达梦·存储过程·达梦数据库·dm8·dm
梦Arrebol5 小时前
Redis 内容及相关实验
数据库·redis
大模型码小白5 小时前
Spring AI Tool 实现自然语言操作 MySQL 数据库详解
服务器·开发语言·数据库·人工智能·python·mysql·spring
DevHub6 小时前
CANopen 教程:STM32 实现 CANopen 从站,3 个回调替代手写对象字典
c语言·驱动开发·stm32·单片机·嵌入式硬件·mcu
DBA大董7 小时前
TDengine3.0 DBA常用的运维命令和SQL2
运维·数据库·时序数据库·dba·tdengine
ManageEngineITSM8 小时前
什么是CMDB?配置管理数据库的定义、作用与建设方法一文讲清
大数据·数据库·人工智能·资产管理·变更管理
IvorySQL8 小时前
PostgreSQL 日报|PG19 外键快速路径隐患已修复(8 月 23 日)
数据库·postgresql