3486|8

7

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

stm32底层使用sql数据库功能 [复制链接]

历史上,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, 下载次数: 6

此帖出自stm32/stm8论坛

最新回复

嵌入式数据库还是远程客户端呢   详情 回复 发表于 2021-7-30 11:49
点赞 关注
 

回复
举报

1942

帖子

2

TA的资源

版主

沙发
 

这是一个模块,只能使用AT指令吗?

此帖出自stm32/stm8论坛
 
 

回复

7608

帖子

18

TA的资源

五彩晶圆(高级)

板凳
 

卧槽,这种东西都能在tb找到,神,真能向,怪不得能发财!

此帖出自stm32/stm8论坛
 
个人签名

默认摸鱼,再摸鱼。2022、9、28

 

回复

7

帖子

0

TA的资源

一粒金砂(中级)

4
 
w494143467 发表于 2021-7-29 16:43 这是一个模块,只能使用AT指令吗?

嗯,用串口发AT指令。

此帖出自stm32/stm8论坛
 
 
 

回复

7

帖子

0

TA的资源

一粒金砂(中级)

5
 
w494143467 发表于 2021-7-29 16:43 这是一个模块,只能使用AT指令吗?

后台用数据库,其实也是用api发sql语句,at指令从理念上看是一样的。

此帖出自stm32/stm8论坛

点评

懂了!  详情 回复 发表于 2021-7-30 09:05
 
 
 

回复

1942

帖子

2

TA的资源

版主

6
 
a457083523 发表于 2021-7-29 17:47 后台用数据库,其实也是用api发sql语句,at指令从理念上看是一样的。

懂了!

此帖出自stm32/stm8论坛
 
 
 

回复

2933

帖子

4

TA的资源

五彩晶圆(中级)

7
 

嵌入式数据库还是远程客户端呢

此帖出自stm32/stm8论坛

点评

嵌入式数据库,不是远端的。 直接嵌入到底层电路板上,底层mcu通过串口发送at命令实现sql数据存取。  详情 回复 发表于 2021-7-30 12:41
 
 
 

回复

7

帖子

0

TA的资源

一粒金砂(中级)

8
 
bigbat 发表于 2021-7-30 11:49 嵌入式数据库还是远程客户端呢

嵌入式数据库,不是远端的。

直接嵌入到底层电路板上,底层mcu通过串口发送at命令实现sql数据存取。

此帖出自stm32/stm8论坛
 
 
 

回复

7

帖子

0

TA的资源

一粒金砂(中级)

9
 

分享下容量测试情况

测试表格结构如下:

(sn int primary key not null,id int,p1 int,p2 int,p3 real,p4 text,p5 text),单片机正常差不多也就存储这么多参数吧
存储的内容分别为
sn(自增),id(自增),p1(自增),p2(自增),1.23456,abcdefghijklmn

空间占用快满时,存储了115888条数据。

按照手册的要求,始终保留至少500K空间,也至少能存储50000条数据。

此帖出自stm32/stm8论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表