找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

[嵌入式/ARM] stm32底层使用sql数据库功能实践

[复制链接]
李工1818 发表于 2021-7-31 16:15:33 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
历史上,sql数据库都是后台的专利,底层单片机使用强大的sql数据库是天方夜谭。很多时候,底层都需要存储一段时间的数据,例如近一年的交易数据,且要能对特定数据快速查询,这种功能单片机往往很难去做。

现在分享某宝找到的LS10串口数据库模块实现单片机存取sql数据库功能。(特地感谢下某宝,真是无奇不有)

  
关系型数据库功能:
1, 创建表;
2, 插入数据;
3, 修改数据;
4, 查询数据;
5, 删除数据;
6, 删除表。

根据手册,LS10模块使用5V电源,uart TTL接口(3.3V)与单片机通信,使用AT命令实现数据库功能。LS10模块可供数据库使用的空间为约2.5M。

  
LS10模块上电启动成功后,串口会输出Rdy标志。

此时,给LC10发AT回车能得到OK响应,见下图:
  
AT+SQL命令用于执行数据库语句,下面一一介绍。
1, 创建表
给LS10模块发送如下命令:
AT+SQL=”CREATE TABLE test_tab(ID INTPRIMARY KEY NOT NULL,PAR1 INT,PAR2 REAL,PAR3 TEXT)”
该AT命令用于创建sql表格,表格名为test_tab,表格列项分别为ID,PAR1,PAR1,PAR3,其中ID为int型,且为主键,PAR1为INT型,PAR2为REAL型,PAR3为TEXT型。
接着可以使用AT+SQLSTRU查询模块内表格及结构。见下图:
  
从上图可以看出,模块内部已经创建了test_tab表格。
2, 插入一行数据
AT+SQL=”INSERT INTO test_tab VALUES(1,188,1.253,’abcdefg’)”
该命令向所有列插入数据,插入的数据分别为1,188,1.253和‘abcdefg’;
AT+SQL=”INSERT INTO test_tab (ID,PAR3) VALUES(2,’hijklmn’)”
该命令向部分列插入数据;
我们可以使用select语句查看我们插入的数据,如下图:
  
从上图可以看出,我们插入的数据已经可以查询到了,其中&是列分隔符。  
3, 修改数据
发送如下命令:
AT+SQL="UPDATE test_tab SET PAR2=2.568,PAR3='I love China' WHERE ID=1"
该命令将ID为1的列,所对应的PAR2改为2.568,PAR3改为’I love China’
  
从上图可以看出,对应的数据已经完成修改;
4, 删除数据
AT+SQL="DELETE FROM test_tab WHERE ID<=1"
上述命令用于删除ID<=1的数据行;
  
执行完成后,通过select语句查询,ID为1的数据已经被删除。
5, 删除表
AT+SQL="DROP TABLE test_tab"
该命令用于删除表test_tab
  
执行删除表命令后,使用AT+SQLSTRU查询,可以看出表格已经被删除。
LS10模块资料请下载附件。

LS10_pdf.zip

732.69 KB, 下载次数: 0, 下载积分: M币 -5

*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-12-21 20:43 , Processed in 0.060412 second(s), 12 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表