学习嵌入式的第三十四天-数据结构-(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();  // 关闭数据库
相关推荐
INGNIGHT15 小时前
单词搜索 II · Word Search II
数据结构·c++·算法
楼田莉子15 小时前
C++学习:C++11关于类型的处理
开发语言·c++·后端·学习
练习时长一年16 小时前
AI开发结构化输出
数据库
酷讯网络_24087016016 小时前
PHP双轨直销企业会员管理系统/购物直推系统/支持人脉网络分销系统源码
学习·开源
IvorySQL16 小时前
灾难恢复工具内核细节探究与分享
数据库·postgresql·开源
lypzcgf16 小时前
商城小程序数据库表结构文档
数据库·小程序·电商
xwz小王子16 小时前
面向机器人学习的低成本、高效且拟人化手部的设计与制作
人工智能·学习·机器人
jjw_zyfx16 小时前
Ubuntu上vue3 vite使用MBTiles搭建地图服务器
服务器·数据库·ubuntu
EndingCoder16 小时前
Node.js SQL数据库:MySQL/PostgreSQL集成
javascript·数据库·sql·mysql·postgresql·node.js
半夏知半秋17 小时前
游戏登录方案中常见的设计模式整理
服务器·开发语言·笔记·学习·游戏·设计模式·lua