学习嵌入式的第三十四天-数据结构-(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();  // 关闭数据库
相关推荐
霸道流氓气质2 分钟前
MySQL 大数据量场景下的表结构与索引设计指南
数据库·mysql
AOwhisky6 分钟前
Redis 学习笔记(第二期):核心数据类型与消息队列实战
运维·数据库·redis·笔记·学习·云计算
lsyeei8 分钟前
MySQL常用索引
数据库·mysql
keira6749 分钟前
个人健康日程表(小时级行为系统)
学习·生活
洛水水9 分钟前
【力扣100题】78.在排序数组中查找元素的第一个和最后一个位置
数据结构·算法·leetcode
YangYang9YangYan12 分钟前
专科大数据技术学习数据分析的价值分析
大数据·学习·数据分析
雨辰AI14 分钟前
生产级实战|SpringBoot3 + 达梦DM9 数据库权限收敛与三权分立完整落地方案
数据库·mysql·oracle·政务
Gong-Yu15 分钟前
MySQL数据库运维——性能优化进阶1️⃣
运维·数据库·mysql·性能优化
段一凡-华北理工大学17 分钟前
工业领域的Hadoop架构学习~系列文章23:物流行业Hadoop应用实践 - 智能物流的数字化引擎
大数据·人工智能·hadoop·分布式·学习·架构·高炉炼铁
Harvy_没救了19 分钟前
【云计算】华为公有云构建高可用Redis集群
数据库·redis·云计算