---
url: https://docs.oakxgen.ai/zh-Hant-TW/guide/connections/database-connection.md
description: >-
  資料庫連線支援 MySQL、PostgreSQL、SQL Server，每個動作可以選「先寫好 SQL 讓模型填參數」或「讓模型自己寫
  SQL」。這篇說明兩種模式的差異與為什麼預設用範本模式。
---

新增連線選**資料庫**，支援 **MySQL**、**PostgreSQL**、**SQL Server** 三種。填**資料庫
類型**、**資料庫名稱**、**主機**、**連接埠**、**帳號**、**密碼**即可，密碼欄位留白
代表沿用原本存的值。

## 動作的兩種模式

新建動作時**預設是範本模式**，因為它讓每一顆動作對應的查詢明確、可預期。

**範本模式**——你自己先把 SQL 寫好，把要讓 AI 決定的值寫成 `{參數名稱}`，例如：

```sql
SELECT * FROM orders WHERE id = {order_id}
```

模型只能填 `{order_id}` 這個參數，查詢本身動不了。系統會自動抓出 SQL 裡的
`{...}` 佔位符，列在**模型看到的參數**那一區，讓你替每個參數補說明。

**自由發揮模式**——不寫死 SQL，讓模型自己組出查詢語句，後端只用「唯讀」這一條
規則把關（擋掉 `INSERT`／`UPDATE`／`DELETE` 之類的寫入語句）。**彈性高但不可
預測**——模型可能寫出跟你預期不同、但技術上合法的查詢，因此不建議當作預設選擇，
只有在真的沒辦法事先窮舉查詢情境時才用。

## 為什麼建議用範本模式

同一個資料庫需求，多數情況下查詢的形狀是固定的（例如「查某個訂單 ID 的明細」），
會變動的只有參數。把 SQL 寫死、只開放參數，AI 出錯的空間就只剩「填錯參數值」，
而不是「寫出一句語意錯誤或效能很差的查詢」——後者除錯起來麻煩得多，而且不容易
在畫面上看出哪裡出錯。
