数据库-SQLite

[复制链接]
发表于 2025-10-28 01:11:56 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
目次

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.封装数据库句柄结构体

  1. typedef struct _DBHandle {
  2.     sqlite3 *db;
  3.     sqlite3_stmt *stmt;
  4.     char **res;
  5.     int column_num;
  6. }DBHandle;
复制代码
        db:sqlite3自带的数据库处理处罚句柄
         stmt:sqlite3生存查询句柄
         res:用于生存查询结果的每一行
         column_num:查询结果的列数
         注:此结构体可以根据实际调解,具体为什么要如许实现可以参考MySql的机制。
4.2.数据库句柄初始化

         初始化只必要将数据库句柄赋值为0即可。
  1. /* 数据库句柄初始化 */
  2. void db_sqlite_init(DBHandle *db_handle) {
  3.     memset(db_handle, 0, sizeof(DBHandle));
  4.     return;
  5. }
复制代码
4.3.毗连数据库

         毗连数据库即打开sqlite3数据库文件的过程,调用sqlite3原生接口。
  1. SQLITE_API int sqlite3_open(
  2.   const char *filename,   /* Database filename (UTF-8) */
  3.   sqlite3 **ppDb          /* OUT: SQLite db handle */
  4. );
  5. /* 连接数据库 */
  6. int db_sqlite_connect(DBHandle *db_handle, const char *file_name) {
  7.     int result = sqlite3_open(file_name, &db_handle->db);
  8.     if (result != SQLITE_OK) {
  9.         printf("Can
复制代码
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表