项目4任务5-Node-RED 对MySQL数据库的增删改查_第1页
项目4任务5-Node-RED 对MySQL数据库的增删改查_第2页
项目4任务5-Node-RED 对MySQL数据库的增删改查_第3页
项目4任务5-Node-RED 对MySQL数据库的增删改查_第4页
项目4任务5-Node-RED 对MySQL数据库的增删改查_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2相关知识34任务小结与练习1任务实施任务引入与目标Node-RED对MySQL数据库的增删改查一、任务引入与目标任务引入数据库最基本和常用的操作就是对数据表记录的增删改查。在Node-RED中该如何访问MySQL中的数据库,进而对数据表中的记录进行增删改查呢?任务目标任务5将在MySQL里创建数据库和数据表,通过Node-RED访问数据库,实现对数据表记录的增删改查,其中的关键是SQL语句语法。二、相关知识增加一条记录的SQL语句语法:INSERTINTOtable_name(column1,column2,column3,...)VALUES(value1,value2,value3,...);功能是:插入一条记录到表table_name中,值是value1,value2,value3,...。对应字段为column1,column2,column3,...。删除记录的SQL语句语法:DELETEFROMtable_nameWHEREsome_column=some_value;功能是:当满足条件some_column=some_value时,从表table_name中删除某条记录。二、相关知识修改记录的SQL语句语法:UPDATEtable_nameSETcolumn1=value1,column2=value2,...WHEREsome_column=some_value;功能是:当满足条件some_column=some_value时,修改table_name表中记录column1字段的值为value1,column2字段的值为value2,以此类推。查询表语法:SELECTcolumn1,column2FROMtable_name;功能是:查询表中记录的column1和column2列的值;可以使用WHERE语句来包含任何条件,可以使用LIMIT属性来设定返回的记录数。课堂讨论SQL语句中的关键字区分大小写吗?三、任务实施实施设备部署了MySQL和Node-RED开发环境的计算机。实施过程1.新建数据库和数据表新建数据库和数据表在命令行和可视化管理软件中均可完成。任务5以HeidiSQL为例讲解。(1)创建数据库node_red_test。创建新的数据库node_red_test,如图4-58所示。图4-58创建数据库三、任务实施(2)创建数据表student。如图4-59所示,创建数据表,共四个字段:id、name、age、class。其中,id为自动增长。id设为主键,如图4-60所示。图4-59创建数据表图4-60创建主键索引然后保存即可。现在表中数据记录显示为0条记录,如图4-61所示。图4-61student表的记录三、任务实施2.配置Node-RED中的mysql节点启动Node-RED。先在命令行输入node-red,然后在浏览器输入网址登录::1880/。将mysql节点拖入流程中,如图4-62所示,配置mysql节点。如图4-63所示,如果信息正确,部署之后,就会发现数据库node_red_test连接成功。图4-62编辑mysql节点图4-63成功连接到数据库node_red_test三、任务实施3.通过mysql节点增加一条记录如图4-64所示,拖入一个inject节点和一个function节点,连接起来。其中,inject用于单次触发,function用于编写数据库操作的SQL语句。节点的配置如图4-65所示。图4-64增加一条记录流程图4-65编辑inject节点三、任务实施function节点实际上就是一个JavaScript代码编辑器,在function节点的函数选项卡编辑msg的topic和payload,传入下一节点(即node_red_test数据库节点),如图4-66所示。完整的SQL语句为:insertinto"student"("id","name","age","class")values(,"zhangsan",19,"IOT2101")。其中,id的值为空,因为id是自动增加的,可以不用赋值。完成后部署。点击inject节点触发一次,如图4-67所示。图4-66编辑function节点图4-68数据表增加了一条记录查看数据库node_red_test中student表的数据,增加了一条记录,如图4-68所示。图4-67触发inject节点三、任务实施按同样的方法,增加3个inject和3个function节点,在数据表中增加3条记录,如图4-69所示。图4-69增加4条记录的流程图4-70数据表中的4条记录重新部署,新增加的3个inject节点各触发一次。结果如图4-70所示。三、任务实施4.通过mysql节点修改记录假设刚才输入的lisi的年龄错了,不是20岁而是21岁。修改记录的流程如图4-71所示。图4-71修改记录的流程图4-72编辑function节点如图4-72所示,用SQL语句编辑function节点,语句为:update"student"set"age"=21where"name"="lisi"。三、任务实施部署之后,单击inject节点左侧的方框触发,如图4-73所示。图4-73触发inject节点图4-74修改数据表中的记录结果如图4-74所示,可见,lisi的age被修改成了21岁。三、任务实施5.通过mysql节点查询数据表(1)查询操作。在查询操作之前,把上面2个mysql节点设置为无效,以节省资源。节点无效的方法:打开节点,在左下角点击即可在“有效”和“无效”之间切换。节点无效之后,则变成半透明的。下面编辑流程,共4个节点,如图4-75所示。如图4-76所示编辑function节点,传往下一个节点的消息为SQL语句:select*from"student"where"name"="lisi"。图4-75查询数据表的流程图4-76编辑function节点三、任务实施部署之后,触发。打印结果如图4-77所示。因为只查询到一条记录,所以返回的列表(数组)中只有一个元素。这个唯一的索引为0的元素是JsonObject(JSON对象)格式的,由4个成员构成。所以可能有人会问:“如何取出其班级值呢?”有了数组和JSON对象的知识,我们很容易可以写出:msg.payload[0].class。可以在debug节点前增加一个function节点或change节点,获取数据库查询的返回内容并提取之后,在debug打印出来。(2)change节点解析。增加change节点,如图4-78所示。图4-77打印查询结果图4-78增加change节点三、任务实施change节点配置如图4-79所示。部署并触发,观察结果,如图4-80所示。图4-79编辑change节点图4-80打印解析结果三、任务实施(3)function节点解析。增加function节点,如图4-81所示。function节点配置,如图4-82所示。图4-81增加function节点图4-82编辑function节点三、任务实施部署并触发,观察结果,如图4-83所示。6.通过mysql节点删除记录删除name为wangwu的记录,流程如图4-84所示。图4-83打印解析结果图4-84删除记录流程三、任务实施如图4-85所示,配置function节点,SQL语句为:delete

from"student"where"name"="wangwu"。部署并触发,如图4-86所示。图4-85编辑function节点图4-87删除一条记录的结果查看结果,如图4-87所示,wangwu的记录已经不在了。图4-86流程运行结果四、任务小结与练习任务小结任务5通过Node-R

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论