跳至內容
資料庫設計

DDL 產生器

以視覺化方式設計資料表,同時產生 CREATE TABLE 語句(MySQL / PostgreSQL / SQLite)與 ER 圖。也可以貼上 JSON 範例自動推論欄位。所有處理皆在瀏覽器內完成,您輸入的內容不會被傳送。

指南: 使用方式與特色

  • 在「由 JSON 自動產生」貼上物件或陣列 JSON,即可新增已自動推論欄位型別、主鍵、NOT NULL 的資料表。
  • 在「資料表設計」中可直接編輯資料表名稱、欄位名稱、型別、PK/NOT NULL/UNIQUE/自動遞增與預設值。
  • 在「關聯」中選擇來源資料表/欄位與目標資料表/欄位,即可新增外鍵約束並在 ER 圖中顯示連接線。
  • 選擇資料庫方言(MySQL / PostgreSQL / SQLite)並點擊「產生 DDL」,即可取得該方言格式的 CREATE TABLE 語句。

FAQ: 常見問題

  • MySQL、PostgreSQL、SQLite 之間的型別如何轉換?

    資料表在內部以共通的邏輯型別(INTEGER、DECIMAL、VARCHAR 等)管理,只有在產生 DDL 時才會轉換為各資料庫實際的型別。例如 BOOLEAN 在 SQLite 中會轉換為 INTEGER(因為 SQLite 沒有布林型別),自動遞增主鍵在 MySQL 會輸出 AUTO_INCREMENT、PostgreSQL 為 SERIAL、SQLite 則為 INTEGER PRIMARY KEY AUTOINCREMENT。
  • 勾選 PK 後,NOT NULL、UNIQUE、預設值的設定會怎樣?

    主鍵依定義即為 NOT NULL 且 UNIQUE,因此勾選 PK 的欄位會忽略 NOT NULL、UNIQUE、預設值設定,僅輸出「型別 PRIMARY KEY」(若開啟自動遞增則加上 AUTO_INCREMENT 等)。
  • 由 JSON 產生時,巢狀資料會如何處理?

    若頂層屬性的值為物件陣列,會自動拆分成擁有外鍵指向父資料表的獨立資料表(例如訂單與明細)。單純的巢狀物件則會轉為 JSON 型別欄位。超過一層的巢狀不會自動拆分,需要手動調整。

使用情境: 常見使用情境

  • 為新 API 或服務規劃初始資料表

    在專案初期以視覺化方式組合所需的資料表與欄位,並直接匯出為 CREATE TABLE 語句。
  • 從既有 JSON 回應反推資料庫結構

    貼上 API 回應或日誌的 JSON 範例,自動產生對應的資料表結構與 DDL 草稿。
  • 製作團隊 ER 圖審查資料

    設計好的資料表結構可立即以 Mermaid 格式的 ER 圖呈現與分享,方便審查時對齊設計共識。
  • 結合 sql-to-er/SQL Builder 的完整設計流程

    將產生的 DDL 交給 SQL Builder 開始組建查詢,或之後貼回 sql-to-er 再次確認結構,從設計到查詢都能在瀏覽器內完成。

注意: 注意事項與限制

  • 產生的 DDL 僅包含基本約束

    支援 PRIMARY KEY、NOT NULL、UNIQUE、DEFAULT、FOREIGN KEY,但不會產生索引、CHECK 約束、字元集/定序、分區等設定。在用於正式環境遷移前,請務必檢查產生的內容。
  • JSON 型別推論取決於您提供的範例

    型別只能根據您提供範例中出現的值來推論。若欄位實際上可能出現其他型別的值,請在產生後手動調整型別。

由 JSON 自動產生(選用)

資料表設計

關聯(外鍵)

DDL 輸出

ER 圖預覽

這個工具的相關文章

最新文章