歷史上,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查詢,可以看出表格已經被刪除。
容量測試,分享如下:
表格結構(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條數據。
審核編輯:湯梓紅
-
SQL
+關注
關注
1文章
772瀏覽量
44194 -
數據庫
+關注
關注
7文章
3842瀏覽量
64550 -
LS10
+關注
關注
0文章
3瀏覽量
1957 -
單片機
+關注
關注
0文章
217瀏覽量
16658
發布評論請先 登錄
相關推薦
評論