Node-Red实现MySQL数据库连接的方法

来自:网络
时间:2021-10-02
阅读:

要想实现Node-red连接数据库(mysql),首先电脑需要在电脑中下载MySQL软件,并安装Navicat便于操作,这里默认已经安装完毕。

Node-Red中控件下载

在Node-Red中需要先下载所需要的mysql控件:

    首先在左上角点击设置,并找到节点管理 ; 在节点管理中点击安装; 在安装界面的查询窗口输入node-red-node-mysql 控件,查询后选择下载,等待下载完成;

Node-Red实现MySQL数据库连接的方法
Node-Red实现MySQL数据库连接的方法 

mysql控件使用

在本地新建连接root,并设置Database为本地连接名称

Node-Red实现MySQL数据库连接的方法

节点信息
定义对接收到的消息进行处理的JavaScript代码(函数的主体)。
输入消息在名为msg的JavaScript对象中传递。
通常,msg.topic必须保留对数据库的查询,然后返回结果msg.payload属性中。
该函数一般会返回一个消息对象(或多个消息对象),但也可以为了停止流而什么都不返回。 创建数据库

需要使用到的节点有injectfunctionmysqldebug

Node-Red实现MySQL数据库连接的方法

//function节点函数编写:创建数据库Data_test
var sql = "CREATE DATABASE Data_test;";
var topic = {"topic":sql};
return topic;

完成后点击inject节点的小方块即可完成数据库Data_test的新建,并可在Navicat中进行刷新查看。

创建数据表table_name

需要使用到的节点有injectfunctionmysqldebug

Node-Red实现MySQL数据库连接的方法

//function节点函数编写:创建数据表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;

完成后点击inject节点的小方块即可完成数据库表table_name的新建,并可在Navicat中进行刷新查看。

添加学生信息

添加学生信息前需要在Navicat中新建表格student,并包含有name、age、grade、class_name

需要使用到的节点有injectfunctionmysqldebug

Node-Red实现MySQL数据库连接的方法

方法一

//function节点函数编写:添加学生信息
var Student="INSERT INTO student(name, age,grade, class_num) VALUES ('wangwu', 11, 4, '3')";
var newMySQLData = {    "topic": Student }
return newMySQLData ;

方法二

//function节点函数编写:添加学生信息
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 ;

其中方法二中的学生信息也可使用在inject节点中选择 {}JSON并输入学生信息进行传输,在function中以 msg.payload.name的形式进行解析。

Node-Red实现MySQL数据库连接的方法

完成后点击inject节点的小方块即可完成学生信息的添加,并可在Navicat中进行刷新查看。

返回顶部
顶部