N8N系列:入门级,小白级解读:读写数据库节点(附使用大模型AI编写SQL和代码流程和提示词)
本文详细介绍了如何用N8N调用MySQL数据库实现新闻采集工作流。首先用通俗语言解释数据库概念(关系型/非关系型)及其应用场景,然后手把手演示MySQL安装、数据库创建和表单设计。核心部分通过6个节点搭建完整工作流:RSS抓取→时间过滤→数量限制→格式转换→数据库写入,最终实现新闻数据的自动化采集存储。文章还延伸了工作流的扩展应用场景,如定时触发、多平台采集、AI处理等,为开发者提供了清晰的实现路
我是龙须草,深耕软硬件技术开发与管理,产品架构师; 一个相信“工具为人服务”的践行者,链接有缘之人,共探新可能。 |
今天挑战一下自己,用小白都能理解的角度来分享下N8N怎么调用数据库。
先说下数据库是什么?
一、数据库到底是啥?
你可以把数据库想象成一个 “超级智能的电子文件柜”,它可以 “存数据、管数据、快查数据” 的工具,你每天用的 APP、网站、甚至手机里的通讯录,背后都有数据库在干活。
1、数据库有哪些类别?
最常见的是两大类:
-
关系型:像 Excel 表格,存格式整齐的信息(如工资、银行卡号),稳且准,比如银行用的 Oracle、淘宝用的 MySQL,数据之间是有关联的,这种数据库内有很多表,每个表存储一类数据。
比如一个学生的数据库:
不同的表存储不同信息,比如学生信息、班级信息、成绩、获奖信息等。每个表都通过不同的关键字来关联起来,共同组成学生的整体信息,所以这类数据库叫关系型数据库;
-
非关系型:像记事本,存格式灵活的信息(如朋友圈、短视频内容),快且灵活,比如存抖音内容的 MongoDB,这类数据库每条信息都可以独立,一般是以键值对的形式存在。
2、数据库能做啥?
你每天的生活,都在 “用数据库”,只是自己没察觉:
存你个人的信息:联系人、银行卡、余额、身份证、各网站注册的信息都在用数据库。
帮你 “快速找东西”:淘宝商品搜索、美团搜索的酒店、美食、附近的商家。
记 “流水账” 并算账:饿了么订单、公司财务月底算工资、应发工资、扣税多少。
3、数据库小结
-
数据库 = 智能电子文件柜:存数据、管数据、快查数据;
-
类别分两种:关系型(稳、适合表格数据,如银行 / 电商)、非关系型(灵活、适合乱数据,如社交 / 短视频);
-
作用:APP、网站、手机功能,背后都靠它存信息、算数据 —— 没有数据库,就没有现在的互联网生活。
二、准备工作
1、下载和安装MySQL数据库
参考文章(点击即可跳转):
入门级:小白必看!超详细 MySQL 下载安装手把手教程,0 基础也能 10 分钟搞定
2、创建数据库
我们前面只是把数据库的管理软件安装好了,它会默认创建几个数据库,我们需要自己来创建我们需要的数据库。
重新打开我们刚刚关闭的:MySQL Workbench 8.0 CE
点击下图的数据库连接,输入密码:123456(参考文章使用的密码是:123456)
打开后,我们创建一个Schema,这个就是我们通常说的数据库
名称随便填,我填写的是:n8n,给N8N专用的,下面两项可以使用默认。然后点击:Apply按钮。
点击:Apply按钮,应用开始创建数据库。
点击:Finish按钮
点击下图的:SChemas,可以看到我们新建的数据库,点开后里面是空的,因为我们还没有建数据库表。
可以看看它自带的数据库,里面是有一些示例数据的。
3、创建数据表单
先弄清楚我们的需求:我们需要采集新闻热点,主要包括:文章标题、文章链接、文章内容、发布时间就可以了。
所以我们把这个需求丢给大模型来生成一个创建上面表单的SQL执行语句。
提示词:我想创建一个MySQL数据库的表单,内容包括:文章标题、文章链接、文章内容、发布时间,请写出创建表单的执行语句
大模型很快就会给我们创建好了,我们点击一下复制按钮:
在创建前我们先双击一下刚才创建的n8n数据库,双击完成后,可以看到这个数据库变粗了,这是把这个数据库激活,同一时刻只有一个数据库是激活的。
我们点击下图,创建一条查询SQL
将大模型生成的SQL语句粘贴进来,点击图示的按钮执行
执行后报错了,没关系,我们把错误发给大模型来改,右键点击错误内容,选择:Copy Response。
将错误发给大模型,大模型会自动识别并修复好,然后复制大模型新修改好的SQL语句:
再次点击执行,可以看到执行成功了
右键点击n8n数据的Tables,选择:Refresh All,就会看到我们新建的表单:articles
然后展开表单的列,可以看到我们创建的表的内容:
4、创建MySQL的凭证
创建这个凭证是告诉N8N访问MySQL的用户名和密码,访问的是哪个数据库。
在下图输入:mysql,不分大小写,点击继续按钮:
在下图填入我们前面创建数据库的信息,Database:n8n;User:root;Password:123456,点击Save按钮。
出现下面的图示说明连接成功:
终于把我们的数据库所有准备工作都完成了,接下来开始进行工作流设计。
三、N8N搭建数据库工作流
接下来我们在N8N搭建一个使用数据库的工作流,主要实现采集热点新闻,然后存入数据库。
先看下工作流整个流程,这个工作流我做了简化,只保留了基本功能,看上去会简单很多:
一共六个节点,下面开始搭建,每新建好一个节点,记得点击一下执行,要不然后面的节点拿不到数据。
1、打开N8N
2、新建一个工作流
3、添加手动触发节点
什么都不用做,直接添加进来就好。
4、添加RSS节点
RSS国内不是很多,不过也有不少,可以问一下AI,让AI提供一下国内的RSS链接,下面以36kr为例来读取信息。
URL填入:http://www.36kr.com/feed
点击运行一下:
上面的结果代表运行成功。
到主页面可以看到读取到了30条数据:
5、添加过滤节点
读回来的信息我们只需要最近一天内的数据,所以需要将数据筛选过滤一下,只保留一天内的数据:
先把发表时间pubdate用鼠标拖到图示的位置:
然后选择:is after
下面框填入:{{ new Date(Date.now() - 1 * 24 * 60 * 60 * 1000)}}
点击执行:Execute step按钮。没什么变化还是30条,说明我们前面的数据都是今天内的数据。
6、添加限制节点
这个Limit节点的作用就是防止一次性采集的数据太多,加以保护一下。
比如这里象征性的限制在10条,在下图填入:10,点击执行按钮,可以看到前面是30条,输出后变成了10条。
7、添加code节点
为什么添加这个节点,是因为我们抓取的发布时间的格式不满足MySQL的输入要求,所以我们这里加一个Code节点,将这个时间转为满足MySQL的格式要求,可以使用大模型来生成代码,满足我们的需求。
我们先把Code节点添加进来:
把我们的需求全部提取出来,准备好发给大模型的数据。
把它原有的内容全部删掉:
这里注意,要先把下图标注1的选项选择为:Run Once for Each Item
然后再将左边pubDate的拖进去
准备我们的需求,尽量多的把我们知道的信息发给大模型,比如:
我需要在n8n的code节点,使用的是JavaScript语言,将输入的变量:$json.pubDate ,变量内容是:2025-09-25 15:47:21 +0800,转换为MySQL的DATETIME需要的格式,同时需要保留上游所有原有字段,请写出代码
把大模型生成的代码复制一下,复制到code节点里面(记得把刚才拖进去的那行代码删掉):
点击执行一下,发现会报错,没关系,把错误复制给大模型来修改:
点击运行Execute step按钮,两边都切换到同样的Json格式。
可以看到输出的数据格式已经满足:MySQL DATETIME 所需的 YYYY-MM-DD HH:MM:SS
格式
8、添加MySQL插入数据节点
选择下图在表中插入行选项:
这里默认的MySQL凭证已经填写进去,点击下面的Table,可以看到我们前面新建的数据库:articles。
数据模式这里选择手动指定:
我们要写入四个数据,这里的Add option,我们点击四次,添加四个。
四个选项,每个选择下面的数据库的对应一项:
然后对照数据的字段,依次将左边的对应内容拖到相应位置,如下图:
这里的内容我们使用的是:contentSnippet,因为我发现contentSnippet和content内容一样,但是contentSnippet没有那么多网页代码元素。
然后点击执行按钮。
显示执行成功,我们到数据库看一下:
依次点击:
1、新建查询SQL
2、填入:select * from articles
3、点击执行按钮
4、可以看到数据库内有10条记录
至此我们完成了一个简单的工作流:网络信息采集——>筛选数据——>限制条数——>数据格式整理——>写入数据库,完整的工作流。
这个工作流可以扩展到更多应用,比如:
1、可以使用定时触发节点,定时去执行这个工作流,不需要人来操作了。
2、可以一次性抓取多个平台,然后将数据汇总。
3、可以增加大模型,对采集的内容进行整理、总结、归纳、形成一份报告。
4、整理的内容可以发送邮件、微信、钉钉、飞书.....来通知用户阅读。
5、可以联动电脑的应用,定时查询数据库,只要数据库有更新,就可以唤醒操作电脑的应用程序来处理更多事情。
6、其他你还想到哪些呢?
以上就是今天的分享了。
希望对你有帮助。
本文适合所有正在尝试或计划使用N8N进行开发的朋友。
技术可以变,但底层逻辑永远重要。
如对你有帮助,请关注我,持续分享给懂得思考的您。
更多推荐
所有评论(0)