当前位置: 首页 > news >正文

自学嵌入式day41,数据库

数据库可根据规模分为大型(如Oracle)、中型(如MySQL/MSSQL)和小型(如SQLite)。常见类型包括关系型数据库,它使用结构化查询语言(SQL)进行管理。相关名词包括:

  • DB(数据库):存储数据的实体。
  • DBMS(数据库管理系统):软件系统,用于管理数据库。
  • MIS(管理信息系统):集成数据库的业务系统。
  • OA(办公自动化):利用数据库的办公应用。
嵌入式数据库与SQLite

SQLite(www.sqlite.org)是一个开源的嵌入式数据库,由C语言开发,常用于Linux内核(www.kernel.org)和GNU项目。其特点包括:

  1. 开源且代码量少(约1万行),总大小在10MB以内。
  2. 绿色软件,无需安装即可使用。
  3. 文件型数据库,数据库文件可移动。
  4. 支持数据容量高达2TB。
安装与编译

在Linux系统中,安装SQLite及其开发库的命令如下:

sudo apt-get install sqlite3 sudo apt-get install libsqlite3-dev

编译SQLite程序时,使用gcc链接SQLite库:

gcc test.c -lsqlite3
SQLite终端指令

在SQLite命令行界面中,常用指令包括:

  • .database:查看关联的数据库文件。
  • .table:列出数据库中的表。
  • .schema:显示表的创建语句。
  • .q.quit.exit:退出数据库。
  • .header on:启用表头显示。
SQL语句基础

SQL语句必须以分号结尾。以下是基本操作示例:

  • 创建表:定义表结构。
    CREATE TABLE user(id INT, name CHAR, age INT);
  • 删除表:移除表及其数据。
    DROP TABLE user;
  • 插入数据:添加新记录。
    INSERT INTO user VALUES(3, 'wang', 11);
  • 查询数据:检索满足条件的记录。
    SELECT * FROM user WHERE age > 20 OR age < 50;
  • 修改数据:更新现有记录。
    UPDATE user SET id = 1 WHERE name = 'li';
  • 删除数据:移除指定记录。
    DELETE FROM user WHERE id = 1 OR id = 2;
SQLite编程(C语言API)

SQLite提供了C API用于数据库操作,基本步骤为:

  1. 打开数据库:使用sqlite3_open函数。
  2. 执行SQL语句:使用sqlite3_exec函数。
  3. 关闭数据库:使用sqlite3_close函数。

以下是一个完整示例,演示如何插入数据:

#include <sqlite3.h> #include <stdio.h> int main(int argc, char** argv) { sqlite3* db = NULL; int ret = sqlite3_open("123.db", &db); // 打开数据库文件 if (ret != SQLITE_OK) { fprintf(stderr, "sqlite3_open error: %s\n", sqlite3_errmsg(db)); sqlite3_close(db); return 1; } char* errmsg = NULL; char sql_cmd[512] = "INSERT INTO user VALUES(6, 'lvbu', 31);"; // SQL插入语句 ret = sqlite3_exec(db, sql_cmd, NULL, NULL, &errmsg); // 执行语句 if (ret != SQLITE_OK) { fprintf(stderr, "sqlite3_exec error: %s\n", errmsg); sqlite3_free(errmsg); // 释放错误消息内存 sqlite3_close(db); return 1; } sqlite3_close(db); // 关闭数据库 return 0; }
http://www.gsyq.cn/news/178993.html

相关文章:

  • MCU开机按键,怎么避免抖动造成的开机
  • B站视频下载神器:5分钟解锁4K高清画质的完整攻略
  • AKShare金融数据接口异常:为什么只返回200条股票数据?
  • Jellyfin豆瓣插件:打造完美中文媒体库的终极指南
  • 终极漫画下载指南:如何轻松建立个人数字漫画库
  • WarcraftHelper终极优化:5分钟解决魔兽争霸III兼容性问题
  • QuickLook Office文件预览插件:零基础安装与高效使用全攻略
  • 从零开始掌握JPEXS:Flash反编译专家成长指南
  • 快速理解Vivado设计检查点功能:模块化开发利器
  • Ring-mini-linear-2.0:1.6B参数如何媲美8B大模型性能?
  • 高速信号端接策略及其在PCB Layout中的应用
  • Balena Etcher快速入门指南:轻松完成镜像烧录
  • Balena Etcher终极使用指南:3步轻松制作系统启动盘
  • 硬件优化新选择:深度剖析AMD Ryzen SDT调试工具的独特价值
  • PyTorch-CUDA-v2.9镜像用于濒危物种识别
  • FastbootEnhance终极指南:Windows上最便捷的Android设备管理神器
  • PyTorch-CUDA-v2.9镜像加速机场安检图像识别
  • PyTorch-CUDA-v2.9镜像支持模型剪枝与蒸馏技术
  • 镜像烧录难题全攻略:高效安全的系统部署方案
  • 如何快速部署智能元数据工具:完整电子书管理配置指南
  • 全屏截图神器:告别网页内容保存烦恼的终极方案
  • Qwen3-VL-FP8:新一代全能视觉语言AI模型!
  • 字节跳动Seed-OSS-36B:512K超长上下文AI大模型
  • PyTorch-CUDA-v2.9镜像加速游戏NPC智能进化
  • Zotero插件商店完全攻略:打造专属学术研究利器
  • 解放双手!三月七小助手带你体验崩坏星穹铁道全自动游戏生活
  • Sunshine游戏串流实战:从零搭建高性能云游戏平台
  • Windows 11远程桌面多用户终极指南:完整教程与一键配置方法
  • StepFun-Prover:7B参数AI定理证明神器来了
  • 背调,让招聘的每一步都踏实可靠