要想实现Node-red连接数据库(mysql),首先电脑需要在电脑中下载MySQL软件,并安装Navicat便于操作,这里默认已经安装完毕。
Node-Red中控件下载
在Node-Red中需要先下载所需要的mysql控件:
- 首先在左上角点击设置,并找到节点管理 ;
- 在节点管理中点击安装;
- 在安装界面的查询窗口输入node-red-node-mysql 控件,查询后选择下载,等待下载完成;
mysql控件使用
在本地新建连接root,并设置Database为本地连接名称
节点信息
定义对接收到的消息进行处理的JavaScript代码(函数的主体)。
输入消息在名为msg的JavaScript对象中传递。
通常,msg.topic必须保留对数据库的查询,然后返回结果msg.payload属性中。
该函数一般会返回一个消息对象(或多个消息对象),但也可以为了停止流而什么都不返回。 创建数据库
需要使用到的节点有inject、function、mysql、debug。
//function节点函数编写:创建数据库Data_test
var sql = "CREATE DATABASE Data_test;";
var topic = {"topic":sql};
return topic;
完成后点击inject节点的小方块即可完成数据库Data_test的新建,并可在Navicat中进行刷新查看。
创建数据表table_name
需要使用到的节点有inject、function、mysql、debug
//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
需要使用到的节点有inject、function、mysql、debug
方法一
//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的形式进行解析。
完成后点击inject节点的小方块即可完成学生信息的添加,并可在Navicat中进行刷新查看。
到此这篇关于Node-Red实现MySQL数据库连接的文章就介绍到这了,更多相关MySQL数据库连接内容请搜索极客世界以前的文章或继续浏览下面的相关文章希望大家以后多多支持极客世界! |
请发表评论