学习嵌入式的第三十四天-数据结构-(2025.7.29)数据库

数据库基础概念

数据库是用于存储和管理海量数据的应用程序,提供数据增删改查及统计功能(如最大值、最小值、平均数等)。通过SQL语句操作数据,以表格形式管理存储。

数据库分类

  • 关系型数据库
    Oracle(大型)、MySQL/MSSQL(中型)、SQLite/DBIl(小型)
  • 非关系型数据库
    MongoDB

SQL语言分类

  • DDL (Data Definition Language)
    建表语句,如 CREATE TABLE
  • DML (Data Modification Language)
    数据操作语句,如 INSERTUPDATEDELETE
  • DQL (Data Query Language)
    查询语句,如 SELECT

嵌入式数据库 SQLite3

特点

  1. 开源,C语言开发
  2. 代码量约1万行,体积小于10MB
  3. 绿色软件,无需安装
  4. 文件型数据库,可移动
  5. 最大支持2TB数据容量
  6. 需定期维护

安装与验证

bash 复制代码
sudo apt-get install sqlite3 libsqlite3-dev
gcc test.c -lsqlite3 -lpthread
sqlite3 --version  # 验证安装

SQLite3 基本操作

启动与退出

bash 复制代码
sqlite3 test.db  # 启动并打开数据库
.quit            # 退出

常用指令

sql 复制代码
.database    # 查看关联文件
.headers on  # 显示表头
.schema      # 显示建表语句
.table       # 列出所有表

数据操作示例

sql 复制代码
-- 创建表
CREATE TABLE 表名(字段1 类型, 字段2 类型);
-- 插入数据
INSERT INTO 表名 VALUES(值1, 值2);
-- 查询数据
SELECT 列名 FROM 表名 WHERE 条件;
-- 修改数据
UPDATE 表名 SET 列名=值 WHERE 条件;
-- 删除数据
DELETE FROM 表名 WHERE 条件;

条件语法

  • 数字类型:WHERE id > 20
  • 字符串模糊匹配:
    • WHERE name LIKE 'zhang%'%匹配任意字符)
    • WHERE name LIKE 'zhang_'_匹配单个字符)

C 语言编程接口

参考 SQLite 官方文档:
sqlite.org/capi3ref

核心函数

c 复制代码
sqlite3_open();   // 打开数据库
sqlite3_exec();   // 执行SQL语句
sqlite3_close();  // 关闭数据库
相关推荐
SelectDB1 分钟前
Apache Doris 实时更新全解:从设计原理到最佳实践|Deep Dive
数据库·apache
纪莫6 分钟前
技术面:如何解决缓存和数据库一致性的问题?
数据库·redis·java面试⑧股
番茄你个西红434 分钟前
安装KingbaseES时服务器swap的设置
linux·数据库
是一个Bug40 分钟前
Spring事件监听器源码深度解析
java·数据库·spring
Wang's Blog42 分钟前
MongoDB小课堂: 分片集群架构深度解析与生产级优化指南
数据库·mongodb·架构
万邦科技Lafite1 小时前
API接口地址解析地区码操作指南
网络·数据库·redis·缓存·开放api·电商开放平台
稚辉君.MCA_P8_Java1 小时前
Gemini永久会员 go数组中最大异或值
数据结构·后端·算法·golang·哈希算法
此生只爱蛋1 小时前
【Redis】常用命令
数据库·redis·缓存
一条破秋裤1 小时前
零样本学习指标
深度学习·学习·机器学习
会员果汁1 小时前
双向链式队列-C语言
c语言·数据结构