要想實(shí)現(xiàn)Node-red連接數(shù)據(jù)庫(kù)(mysql),首先電腦需要在電腦中下載MySQL軟件,并安裝Navicat便于操作,這里默認(rèn)已經(jīng)安裝完畢。
Node-Red中控件下載
在Node-Red中需要先下載所需要的mysql控件:
- 首先在左上角點(diǎn)擊設(shè)置,并找到節(jié)點(diǎn)管理 ;
- 在節(jié)點(diǎn)管理中點(diǎn)擊安裝;
- 在安裝界面的查詢窗口輸入node-red-node-mysql 控件,查詢后選擇下載,等待下載完成;
mysql控件使用
在本地新建連接root,并設(shè)置Database為本地連接名稱
節(jié)點(diǎn)信息
定義對(duì)接收到的消息進(jìn)行處理的JavaScript代碼(函數(shù)的主體)。
輸入消息在名為msg的JavaScript對(duì)象中傳遞。
通常,msg.topic必須保留對(duì)數(shù)據(jù)庫(kù)的查詢,然后返回結(jié)果msg.payload屬性中。
該函數(shù)一般會(huì)返回一個(gè)消息對(duì)象(或多個(gè)消息對(duì)象),但也可以為了停止流而什么都不返回。 創(chuàng)建數(shù)據(jù)庫(kù)
需要使用到的節(jié)點(diǎn)有inject、function、mysql、debug。
1
2
3
4
|
// function 節(jié)點(diǎn)函數(shù)編寫:創(chuàng)建數(shù)據(jù)庫(kù)Data_test var sql = "CREATE DATABASE Data_test;" ; var topic = { "topic" :sql}; return topic; |
完成后點(diǎn)擊inject節(jié)點(diǎn)的小方塊即可完成數(shù)據(jù)庫(kù)Data_test的新建,并可在Navicat中進(jìn)行刷新查看。
創(chuàng)建數(shù)據(jù)表table_name
需要使用到的節(jié)點(diǎn)有inject、function、mysql、debug
1
2
3
4
|
// function 節(jié)點(diǎn)函數(shù)編寫:創(chuàng)建數(shù)據(jù)表table_name var sql = "CREATE TABLE IF NOT EXISTS `runoob_tbl`( `runoob_id` INT UNSIGNED AUTO_INCREMENT, `runoob_title` VARCHAR(100) NOT NULL, `runoob_author` VARCHAR(40) NOT NULL, `submission_date` DATE, PRIMARY KEY ( `runoob_id` ))ENGINE=InnoDB DEFAULT CHARSET=utf8;" ; var topic = { "topic" :sql}; return topic; |
完成后點(diǎn)擊inject節(jié)點(diǎn)的小方塊即可完成數(shù)據(jù)庫(kù)表table_name的新建,并可在Navicat中進(jìn)行刷新查看。
添加學(xué)生信息
添加學(xué)生信息前需要在Navicat中新建表格student,并包含有name、age、grade、class_name
需要使用到的節(jié)點(diǎn)有inject、function、mysql、debug
方法一
1
2
3
4
|
// function 節(jié)點(diǎn)函數(shù)編寫:添加學(xué)生信息 var Student= "INSERT INTO student(name, age,grade, class_num) VALUES ('wangwu', 11, 4, '3')" ; var newMySQLData = { "topic" : Student } return newMySQLData ; |
方法二
1
2
3
4
5
6
|
// function 節(jié)點(diǎn)函數(shù)編寫:添加學(xué)生信息 var Student= "INSERT INTO student(name, age,grade, class_num) VALUES ('%s', %d, %d, '%s')" ; var newMySQLData = { "topic" : util.format(Student, "lisi" ,12,6, "1" ) } return newMySQLData ; |
其中方法二中的學(xué)生信息也可使用在inject節(jié)點(diǎn)中選擇 {}JSON并輸入學(xué)生信息進(jìn)行傳輸,在function中以 msg.payload.name的形式進(jìn)行解析。
完成后點(diǎn)擊inject節(jié)點(diǎn)的小方塊即可完成學(xué)生信息的添加,并可在Navicat中進(jìn)行刷新查看。
到此這篇關(guān)于Node-Red實(shí)現(xiàn)MySQL數(shù)據(jù)庫(kù)連接的文章就介紹到這了,更多相關(guān)MySQL數(shù)據(jù)庫(kù)連接內(nèi)容請(qǐng)搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!
原文鏈接:https://blog.csdn.net/weixin_43195420/article/details/119342650