玩转SQLite6:使用C语言来读写数据库
上篇文章介绍了如何使用Pyhton语言来操作SQLite数据库,对于嵌入式开发,更多的是使用C/C++语言进行开发,因此,本篇介绍如何使用C语言来操作SQLite数据库。
1 SQLite C语言API函数
SQLite的C语言API函数的官方文档地址:https://sqlite.com/capi3ref.html#sqlite3_free
对于数据库的基础操控,可以先了解以下几个最基本的API函数:
1.1 打开数据库 sqlite3_open
该函数用于打开sqlite3数据库的连接
1 | int sqlite3_open( |
参数含义:
- filename: 数据库文件名
- ppDb: 数据库handle ,用结构体sqlite3来表示一个打开的数据库对象
1.2 执行sql语句 sqlite3_exec
1 | int sqlite3_exec( |
参数含义:
- sqlite3 *: 数据库句柄
- sql: 要执行的sql语句
- callback: 回调函数
- void *: 回调函数的第一个参数
- errmsg: 错误信息,如果没有问题则为NULL
1.3 回调函数
回调函数式一个比较复杂的函数,一般用于sql语句执行后的数据打印,其原型为:
1 | int callback( |
参数含义:
- params: sqlite3_exec传入的第四个参数
- column_size: 结果字段的个数
- column_value: 返回记录的一位字符数组指针
- column_name: 结果字段的名称
回调函数的通常写法为:
1 | static int callback(void *data, int argc, char **argv, char **azColName) |
1.4 关闭连接 sqlite3_close
1 | int sqlite3_close(sqlite3*); |
参数含义:
- sqlite3 *: 要关闭的数据库句柄
2 C语言编程测试
2.1 编程环境搭建
运行C程序,需要先下载SQLite的源码:https://www.sqlite.org/download.html
我下载的是sqlite-amalgamation-3370000.zip
解压后是两个c文件和两个h文件:
注意,sqlite的源码全部被合并成在一个 sqlite3.c 文件,代码量非常大,目前已有23万多行代码(如下图),如果不需要修改源码就不用打开该文件因为打开后可能会让你的电脑卡住一会儿。
sqlite3.c添加到工程项目中,并添加头文件的包含路径:
2.2 数据插入测试
数据插入就是执行insert语句
1 | const char *sql1="insert into SCORE values(11,77,88,80)"; |
2.3 数据查询测试
数据插入就是执行select语句
1 | const char *sql2="select * from SCORE"; |
2.4 完整的C语言程序
1 |
|
运行结果:
4 总结
本篇简单介绍了如何使用SQLite的C语言API中最基础的几个函数,实现对数据库的读写,后续再介绍其它常用的C语言API函数的用法。
-------------纸短情长 下次再见-------------
关注微信公众号,获取更多精彩~
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 码农爱学习的博客!
评论