时间:2022-08-20 08:08:04 | 栏目:Mysql | 点击:次
要想实现Node-red连接数据库(mysql),首先电脑需要在电脑中下载MySQL软件,并安装Navicat便于操作,这里默认已经安装完毕。
在Node-Red中需要先下载所需要的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中进行刷新查看。
需要使用到的节点有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中进行刷新查看。