要想實(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 控件,查詢后選擇下載,等待下載完成;
![](/d/20211017/5d389395ee93042cc32229ca2a12b9d1.gif)
mysql控件使用
在本地新建連接root,并設(shè)置Database為本地連接名稱
![](/d/20211017/b187f4839323c36df6a62e37fd54211a.gif)
節(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。
![](/d/20211017/36469551096c76cd45129c9da2e4813c.gif)
//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
![](/d/20211017/a710cd39305137ed5ff2b22363818061.gif)
//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
![](/d/20211017/8dcd686ab21e80788f2231a5c388d4a7.gif)
方法一
//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 ;
方法二
//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)行解析。
![](/d/20211017/db75e37cb74e6927461f3c906c9ba0d9.gif)
完成后點(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)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- 方便快捷實(shí)現(xiàn)springboot 后端配置多個(gè)數(shù)據(jù)源、Mysql數(shù)據(jù)庫(kù)
- MySQL DEFINER具體使用詳解
- MySQL隔離級(jí)別和鎖機(jī)制的深入講解
- django生產(chǎn)環(huán)境搭建(uWSGI+django+nginx+python+MySQL)
- 淺析MySQL 主鍵使用數(shù)字還是uuid查詢快
- MySQL之權(quán)限以及設(shè)計(jì)數(shù)據(jù)庫(kù)案例講解
- MySQL為何不建議使用默認(rèn)值為null列
- mysql之group by和having用法詳解