马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
目次
1.SQLite先容
2.SQLite特性
3.SQLite利用
3.1.情况预备
3.2.创建数据库文件
3.3.利用数据库
4.API接口
4.1.封装数据库句柄结构体
4.2.数据库句柄初始化
4.3.毗连数据库
4.4.创建表 插入数据 修改数据 删除数据
4.5.实行查询语句
4.6.初始化存储查询结果句柄
4.7.获取每一行查询结果
4.8.开释查询结果集
5.完备代码
6.总结
1.SQLite先容
SQLite 是一个轻量级的关系型数据库管理体系(RDBMS),广泛应用于桌面应用步伐、移动装备和小型服务端应用中。它的重要特点是不必要一个独立的数据库服务器,而是通过嵌入到应用步伐中运行。SQLite 利用一个简朴的数据库文件存储全部数据,因此可以方便地举行数据的传输和备份。它支持 ACID(原子性、同等性、隔离性、恒久性)事故,包管数据的可靠性。
2.SQLite特性
长处:不必要设置、数据库文件小、支持跨平台、支持标准 SQL,而且非常适实用于嵌入式体系和低并发的应用。它在移动装备和桌面应用步伐中非常盛行,尤其是作为当地存储的数据库办理方案。在SQLite中,一个文件可以雷同的当作MySQL中的数据库,即一个文件就是一个数据库。
缺点:不得当高并发的应用、对于大规模数据处理处罚大概性能不如 MySQL、PostgreSQL。
3.SQLite利用
3.1.情况预备
必要安装sqlite3干系的安装包,参考ubuntu下令:apt-get install sqlite3 libsqlite3-dev
3.2.创建数据库文件
利用 vim 在恣意目次创建一个文件,后缀名没有要求,比方:vim test.sql
3.3.利用数据库
创建好文件之后就可以利用该数据库了,比方:sqlite3 test.sql
之后便可以创建表,然后举行增编削查利用。
4.API接口
4.1.封装数据库句柄结构体
- typedef struct _DBHandle {
- sqlite3 *db;
- sqlite3_stmt *stmt;
- char **res;
- int column_num;
- }DBHandle;
复制代码 db:sqlite3自带的数据库处理处罚句柄
stmt:sqlite3生存查询句柄
res:用于生存查询结果的每一行
column_num:查询结果的列数
注:此结构体可以根据实际调解,具体为什么要如许实现可以参考MySql的机制。
4.2.数据库句柄初始化
初始化只必要将数据库句柄赋值为0即可。
- /* 数据库句柄初始化 */
- void db_sqlite_init(DBHandle *db_handle) {
- memset(db_handle, 0, sizeof(DBHandle));
- return;
- }
复制代码 4.3.毗连数据库
毗连数据库即打开sqlite3数据库文件的过程,调用sqlite3原生接口。
- SQLITE_API int sqlite3_open(
- const char *filename, /* Database filename (UTF-8) */
- sqlite3 **ppDb /* OUT: SQLite db handle */
- );
- /* 连接数据库 */
- int db_sqlite_connect(DBHandle *db_handle, const char *file_name) {
- int result = sqlite3_open(file_name, &db_handle->db);
- if (result != SQLITE_OK) {
- printf("Can
复制代码 |