【从零开始的嵌入式生活7】数据库开发

简介: 【从零开始的嵌入式生活7】数据库开发

今天讲一讲数据库开发,这部分结束之后就会进入底层的开发原理和实践了,应用层的开发其实还是蛮有意思的,但是我们的目标是底层开发,冲鸭0.0


🧑🏻作者简介:一个学嵌入式的年轻人

✨联系方式:2201891280(QQ)

📔源码地址:https://gitee.com/xingleigao/study_qianrushi

⏳全文大约阅读时间: 60min

文章目录

数据库

数据基本概念

常用的数据库

基于嵌入式的数据库

SQLite

SQLite的命令行操作

SQlite的安装

SQlite的基本命令

系统命令

sql命令

SQLite编程接口

打开数据库

关闭数据库

查看错误消息

执行sql语句

写在最后

数据库

数据基本概念

数据(Data)

能够输入计算机并能被计算机程序识别和处理的信息集合

数据库 (Database)

数据库是在数据库管理系统管理和控制之下,存放在存储介质上的数据集合

常用的数据库

大型数据库


Oracle公司是最早开发关系数据库的厂商之一,其产品支持最广泛的操作系统平台。目前Oracle关系数据库产品的市场占有率名列前茅。


IBM 的DB2是第一个具备网上功能的多媒体关系数据库管理系统,支持包Linux在内的一系列平台。

中型数据库

Server是微软开发的数据库产品,主要支持windows平台。

小型数据库

mySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司,2008年被Sun公司收购,开放源码。


基于嵌入式的数据库

由于嵌入式平台对资源的要求非常高,所以不太适用于上面的数据库。

基于嵌入式Linux的数据库主要有SQLite, Firebird, Berkeley DB, eXtremeDB


Firebird是关系型数据库,功能强大,支持存储过程、SQL兼容等

SQLite关系型数据库,体积小,支持ACID事务

Berkeley DB中并没有数据库服务器的概念,它的程序库直接链接到应用程序中

eXtremeDB是内存数据库,运行效率高


SQLite

SQLite的源代码是C,其源代码完全开放。SQLite第一个Alpha版本诞生于2000年5月。 他是一个轻量级的嵌入式数据库。

SQLite有以下特性:


零配置一无需安装和管理配置;

储存在单一磁盘文件中的一个完整的数据库;

数据库文件可以在不同字节顺序的机器间自由共享;

支持数据库大小至2TB;

足够小,全部源码大致3万行c代码,250KB;

比目前流行的大多数数据库对数据的操作要快;


SQLite的命令行操作

SQlite的安装

1–在线安装

apt 包管理是不是可以拿来用一用啦


sudo apt install sqlite

sudo apt install sqlite

2–本地安装

官网下载

然后解压之后sudo dpkg -i *.deb就好了


SQlite的基本命令

系统命令

以.开头的命令

113497632266e3b1db4148d2a22e0a3.png


sql命令

不以.开头, 以;结尾的命令

e9068121577db07f584a7fb2b65b084.png



删除一列

1.创建一张新表

create table stu1 as select id,name,score from stu;

2.删除原有表

drop table stu;

3.改名

alter table stu1 rename to stu;


SQLite编程接口

API官网列表和介绍

需要相关的库文件:sudo apt-get install libsqlite3-dev


打开数据库


int sqlite3_open(
 const char *filename,   //数据库路径
 sqlite3 **ppDb          //数据库的指针 文件句柄
);


功能:打开sqlite数据库

参数:


filename 数据库路径

ppDb:数据库的操作句柄(指针)

返回值:成功返回SQLITE_OK,失败返回错误码


关闭数据库

int sqlite3_close(sqlite3*);


功能:关闭sqlite数据库

参数:db,数据库的指针

返回值:成功返回SQLITE_OK,失败返回错误码


查看错误消息

const char *sqlite3_errmsg(sqlite3*);


功能:通过db查看错误

返回值:错误消息


执行sql语句

int sqlite3_exec(
sqlite3*,                                  /* An open database */
const char *sql,                           /* SQL to be evaluated */
int (*callback)(void*,int,char**,char**),  /* Callback function */
void *,                                    /* 1st argument to callback */
char **errmsg                              /* Error msg written here */
);


参数:


1.db 数据库操作句柄

2.sql 一条sql语句

3.callback 回调函数,只有sql为查询语句的时候,才会执行这个语句。

4.arg 给回调函数传递的参数

5.errmsg 错误消息

返回值:成功SQLITE_OK


typedef  int (*sqlite3_callback)(void *para, int f_num, char **f_value, char **f_name);


功能:每找到一条记录自动执行一次回调函数

para:传递给回调函数的参数

f_num:记录中包含的字段数目

f_value:包含每个字段值的指针数组

f_name:包含每个字段名称的指针数组

返回值:成功返回0,失败返回-1

小demo:

相关的代码在gitee库:/study_qianrushi/7.SQLite下


写在最后

应用层结束啦!!!!!!!!!!!!!!!!!!!!!!接下来大概一周时间更新一个大 的应用之后进入底层开发,长按催更见,前面的应用较多大家跟我一起改变世界。啊哈哈哈,求求大家给个三连再走吧,求求你们了0.0


相关文章
|
3月前
|
存储 关系型数据库 数据库
附部署代码|云数据库RDS 全托管 Supabase服务:小白轻松搞定开发AI应用
本文通过一个 Agentic RAG 应用的完整构建流程,展示了如何借助 RDS Supabase 快速搭建具备知识处理与智能决策能力的 AI 应用,展示从数据准备到应用部署的全流程,相较于传统开发模式效率大幅提升。
附部署代码|云数据库RDS 全托管 Supabase服务:小白轻松搞定开发AI应用
|
19天前
|
存储 JSON 数据建模
鸿蒙 HarmonyOS NEXT端云一体化开发-云数据库篇
云数据库采用存储区、对象类型、对象三级结构,支持灵活的数据建模与权限管理,可通过AGC平台或本地项目初始化,实现数据的增删改查及端侧高效调用。
50 0
|
3月前
|
存储 SQL 前端开发
跟老卫学HarmonyOS开发:ArkTS关系型数据库开发
本节以“账本”为例,使用关系型数据库接口实现账单的增、删、改、查操作。通过创建ArkTSRdb应用,演示如何操作RdbStore进行数据管理,并结合界面按钮实现交互功能。
128 0
跟老卫学HarmonyOS开发:ArkTS关系型数据库开发
|
5月前
|
存储 缓存 自然语言处理
评论功能开发全解析:从数据库设计到多语言实现-优雅草卓伊凡
评论功能开发全解析:从数据库设计到多语言实现-优雅草卓伊凡
122 8
评论功能开发全解析:从数据库设计到多语言实现-优雅草卓伊凡
|
6月前
|
SQL 调度 数据库
开发YashanDB数据库?用 DBeaver for YashanDB 更顺手
数据库开发复杂易错,尤其在企业级场景中。为提升效率,YashanDB 团队基于 DBeaver 开源工具打造专属解决方案——DBeaver for YashanDB。它支持多类型数据库对象管理(表、视图、函数等),适配 YashanDB 特有表结构(HEAP、LSC),提供智能补全、语法高亮、SQL 调试等功能,让开发更高效流畅。推荐用于数据库应用开发团队、高频调试用户及中大型企业统一工具栈场景。
|
6月前
|
SQL 数据可视化 IDE
开发数据库不想写命令?YashanDB Developer Center 帮你轻松搞定
YashanDB Developer Center(YDC)是一款可视化的数据库开发工具,专为提升数据库开发效率而设计。它通过图形化对象管理让数据库对象清晰可见,提供智能SQL编辑器支持语法高亮与自动补全,实现PL调试的图形化操作,帮助快速定位问题。此外,操作记录可追溯,多端灵活部署,适配多种场景。无论是中大型企业研发团队,还是不熟悉命令行的业务开发者,YDC都能显著优化开发体验,堪称YashanDB的“可视化IDE”。
|
10月前
|
存储 JSON 测试技术
【HarmonyOS Next开发】云开发-云数据库(二)
实现了云侧和端侧的云数据库创建、更新、修改等操作。这篇文章实现调用云函数对云数据库进行增删改查。
186 9
【HarmonyOS Next开发】云开发-云数据库(二)
|
9月前
|
前端开发 Java 数据库连接
Java后端开发-使用springboot进行Mybatis连接数据库步骤
本文介绍了使用Java和IDEA进行数据库操作的详细步骤,涵盖从数据库准备到测试类编写及运行的全过程。主要内容包括: 1. **数据库准备**:创建数据库和表。 2. **查询数据库**:验证数据库是否可用。 3. **IDEA代码配置**:构建实体类并配置数据库连接。 4. **测试类编写**:编写并运行测试类以确保一切正常。
326 2
|
10月前
|
SQL 关系型数据库 API
HarmonyOs开发:关系型数据库封装之增删改查
每个方法都预留了多种调用方式,比如使用callback异步回调或者使用Promise异步回调,亦或者同步执行,大家在使用的过程中,可以根据自身业务需要进行选择性调用,也分别暴露了成功和失败的方法,可以针对性的判断在执行的过程中是否执行成功。
316 13

热门文章

最新文章