学习嵌入式的第三十四天-数据结构-(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();  // 关闭数据库
相关推荐
less is more_09302 分钟前
风力发电机输出功率模型综述
笔记·学习·数学建模
黑马金牌编程6 分钟前
深入浅出 Redis:从核心原理到运维实战指南一
数据库·redis·缓存·性能优化·非关系型数据库
丰锋ff12 分钟前
2006 年真题配套词汇单词笔记(考研真相)
笔记·学习·考研
李迟17 分钟前
2025年9月个人工作生活总结
服务器·数据库·生活
野犬寒鸦2 小时前
从零起步学习Redis || 第四章:Cache Aside Pattern(旁路缓存模式)以及优化策略
java·数据库·redis·后端·spring·缓存
白水先森3 小时前
C语言作用域与数组详解
java·数据结构·算法
想唱rap3 小时前
直接选择排序、堆排序、冒泡排序
c语言·数据结构·笔记·算法·新浪微博
茉莉玫瑰花茶3 小时前
Redis - Bitfield 类型
数据库·redis·缓存
早睡冠军候选人3 小时前
K8s学习----节点(Node)
运维·学习·云原生·容器·kubernetes
lang201509283 小时前
MySQL InnoDB备份恢复全指南
数据库·mysql