n8n 直連 MySQL & PostgreSQL:從零開始的資料庫自動化終極指南

n8n mysql postgresql

在任何企業的數位架構中,資料庫(Database)——特別是像 MySQL 和 PostgreSQL 這樣的關聯式資料庫——都扮演著「單一事實來源 (Single Source of Truth)」的核心角色。它儲存著你最寶貴的資產:客戶名單、訂單紀錄、產品庫存、營運數據…

然而,這些數據如果只是靜靜地躺在資料庫裡,就無法發揮其最大價值。真正的力量,在於讓這些數據「動起來」——讓它們能夠與你日常使用的其他工具(如 Slack, Email, CRM, Google Sheets)即時互動,驅動決策,並自動化你的商業流程。

這,正是 n8n 與資料庫整合的威力所在。n8n 提供了官方的 MySQLPostgreSQL 節點,讓你能夠像串接任何 SaaS 服務一樣,輕鬆地對你的資料庫進行讀取、新增、更新與刪除等操作,而且完全在一個視覺化的、低程式碼的環境中完成。

這篇文章將是你的 n8n 資料庫自動化終極指南。我們將從最關鍵、也最容易卡關的「安全連線設定」開始,深入解析節點的核心 CRUD 操作,並透過兩個超實用的實戰演練,手把手教你如何建立「每日 Slack 自動報表」和「Webhook 即時入庫」等強大流程,讓你徹底打破數據孤島,釋放你資料庫的真實潛力。

打破數據孤島:為什麼要將 n8n 與你的資料庫對接?

將 n8n 這座「萬物互聯的橋樑」直接與你的核心資料庫相連,能為你解鎖無數個高價值的自動化應用場景:

  1. 建立即時的商業儀表板 (Automated Reporting): 你可以設定排程,讓 n8n 每天自動從你的生產資料庫中,查詢關鍵業務指標(如:昨日新增用戶數、訂單總額),並將彙整好的報表,自動發送到 Slack, Discord 或 Email,讓團隊隨時掌握最新動態。
  2. 雙向資料同步 (Data Synchronization): 當你的 CRM 系統(如 HubSpot)有新客戶時,n8n 可以自動將其寫入你的 PostgreSQL 客戶資料表中;反之,當你的電商資料庫有新訂單時,n8n 也能自動更新對應客戶在 CRM 中的標籤。
  3. 打造內部工具 (Internal Tools): 你可以建立一個由 Form Trigger 觸發的工作流,讓非技術背景的同事(如客服、行銷人員)可以透過一個簡單的表單,安全地查詢或新增資料庫中的特定資訊,而完全無需給他們直接存取資料庫的權限。
  4. 數據驅動的自動化 (Data-Driven Automation): n8n 可以定期掃描資料庫中的特定條件,當條件滿足時(例如:某產品庫存低於 10 件),自動觸發後續的補貨通知或採購流程。

連線第一步:安全地設定你的 MySQL / PostgreSQL 憑證

這是所有資料庫自動化的起點,也是最需要謹慎處理的一步。n8n 的 MySQLPostgreSQL 節點設定方式幾乎完全相同。

  1. 新增資料庫節點: 在 n8n 畫布上,新增 MySQLPostgreSQL 節點。
  2. 建立憑證 (Credential): 在節點設定的 Credential 欄位點擊「Create New」。你會看到一個需要填寫連線資訊的視窗。

標準連線設定

  • Host: 你資料庫伺服器的主機名稱或 IP 位址。
  • Port: 資料庫的埠口,MySQL 預設為 3306,PostgreSQL 預設為 5432
  • User: 你用來登入資料庫的使用者名稱。
  • Password: 對應的密碼。
  • Database: 你想要連接的資料庫名稱。

最佳實踐:不要直接使用你的 root 或最高權限的管理員帳號。你應該在資料庫中,為 n8n 建立一個專屬的權限受限的使用者帳號。例如,如果某個工作流只需要「讀取」客戶資料表,就只給予這個 n8n 帳號對該資料表的 SELECT 權限。

(進階) 透過 SSH Tunnel 進行安全連線

如果你的資料庫不允許從公網直接連線(這是非常好的安全習慣),你可以透過 SSH Tunnel 的方式,讓 n8n 伺服器先安全地「鑽入」你的內部網路,再進行連線。

在憑證設定視窗的下方,找到並啟用 Use Tunnel 選項,然後填寫你的 SSH 主機、使用者和金鑰等資訊。這能確保你的資料庫連線過程,受到 SSH 的加密保護,是生產環境中的推薦做法。

n8n mysql postgresql

核心操作詳解:精通資料庫的 CRUD (增刪查改)

n8n 的資料庫節點,將標準的 SQL 操作,簡化為幾個直觀的選項,也就是我們常說的 CRUD (Create, Read, Update, Delete)。

  • Get All (查詢多筆): 相當於 SELECT * FROM table。它會回傳指定資料表中所有符合條件的紀錄。你可以使用 Filters 來設定 WHERE 條件,或在 Options 中設定 Limit (限制筆數) 和 Offset (偏移量) 來實現分頁查詢。
  • Get One (查詢單筆): 相當於 SELECT * FROM table WHERE ... LIMIT 1。它只會回傳符合條件的第一筆紀錄。
  • Insert (新增): 相當於 INSERT INTO table ...。你需要指定 Table (資料表名稱),並在 Columns 欄位中,將 n8n 輸入資料的欄位(例如 {{ $json.name }}),對應到資料表的欄位名稱。
  • Update (更新): 相當於 UPDATE table SET ... WHERE ...。你需要設定 Filters 來指定要更新哪一筆(或哪些)紀錄,並在 Columns 中設定要更新的欄位與新的值。
  • Delete (刪除): 相當於 DELETE FROM table WHERE ...。你需要設定 Filters 來指定要刪除的紀錄。請謹慎使用此操作!
  • Execute Query (執行原生查詢): 這是為開發者準備的終極武器。當上述操作無法滿足你複雜的需求時(例如需要 JOIN 多個資料表),你可以直接在這裡撰寫你自己的原生 SQL 查詢語句。

實戰演練一 (讀取):建立每日新用戶 Slack 自動報表

  • 目標: 每天早上 9 點,從 PostgreSQL 的 users 資料表中,抓取昨天註冊的所有新用戶,並將用戶總數和列表發送到 Slack。
  • 流程設計: Schedule -> PostgreSQL -> Set -> Slack
  1. Schedule 節點: 設定 Mode: Every Day, Hour: 9
  2. PostgreSQL 節點:
    • Operation: Get All
    • Table: users
    • Filters > Add Filter:
      • Key: created_at (假設這是你的註冊時間欄位)
      • Operation: after
      • Value (使用 Expression): {{ $now.minus({ days: 1 }).toISODate() }} (取得昨天的日期)
  3. Set 節點 (組合訊息):
    • 用來計算用戶總數並組合 Slack 訊息。
    • 新增欄位 user_count,值為 {{ $items().length }}
    • 新增欄位 user_list,值為 {{ $items().map(item => – item.json.name({item.json.email})).join('\n') }}
  4. Slack 節點:
    • 將組合好的訊息發送到指定頻道:「昨日新增用戶 {{ $json.user_count }} 位:\n{{ $json.user_list }}

實戰演練二 (寫入):將 Webhook 表單資料即時存入資料庫

  • 目標: 當有新的潛在客戶透過網站的聯絡表單提交資料時,將其 Email 和姓名,即時寫入到 MySQL 的 leads 資料表中。
  • 流程設計: Webhook -> MySQL
  1. Webhook 節點: 接收來自你網站表單的 POST 請求,資料中包含 nameemail
  2. MySQL 節點:
    • Operation: Insert
    • Table: leads
    • Columns > Add Field:
      • Name (資料庫欄位): customer_name
      • Value (n8n 輸入值): {{ $json.body.name }}
    • Columns > Add Field:
      • Name (資料庫欄位): customer_email
      • Value (n8n 輸入值): {{ $json.body.email }}

啟用這個流程後,你的網站表單就與核心資料庫實現了無縫的即時對接!

n8n mysql postgresql

結語

你的資料庫,不應該只是一個被動的儲存倉庫。透過 n8n,你可以輕易地為它裝上引擎,讓沉睡的數據轉化為驅動業務成長的自動化行動。

今天,我們不僅學會了如何安全地將 n8n 連接到你最重要的 MySQL 或 PostgreSQL 資料庫,更透過實戰演練,掌握了如何將外部世界的事件(表單提交)寫入數據,以及如何將內部的數據變化,主動地推送到外部世界(Slack 報表)。

這僅僅是個開始。當你開始將資料庫節點,與 n8n 生態系中數百個其他的 AI、CRM、行銷工具節點組合在一起時,你將會發現,你能打造的自動化應用,將遠超你的想像。現在,就去連接你的第一個資料庫,讓數據真正地「動」起來吧!

更多精選文章請參考

n8n 與 Zapier 比較:該選哪個?2025年最完整功能、費用、優缺點分析

開源自動化工具推薦:從工作流程到測試,找到最適合你的免費方案

n8n 發送 Email 超詳細教學:從 SMTP 設定到 Gmail 節點串接,一篇搞定!

n8n Notion 串接終極指南:2025 年打造自動化工作流程,效率翻倍!

【n8n 教學】最強 n8n 網頁爬蟲指南,免寫程式也能輕鬆抓取網站資料!

【n8n 教學全攻略】2025最新!從入門到串接實戰,打造你的自動化工作流

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

返回頂端