跳至內容
可視化

SQL 轉 ER 圖

解析 CREATE TABLE 語句並自動生成 Mermaid 格式的 ER 圖。在瀏覽器中安全地可視化您的資料庫設計。

指南: How to use & features

  • Enter or paste SQL `CREATE TABLE` statements into the text area.
  • Click the "Visualize" button to generate and display the ER diagram using Mermaid syntax.
  • Table relationships (Foreign Keys) are automatically extracted from `FOREIGN KEY` or `REFERENCES` clauses.
  • Use the "Copy Mermaid Code" button to save the generated syntax to your clipboard.
  • Your schema data is processed entirely in the browser, ensuring privacy and security.

範例: Examples

Users and Posts (One-to-Many)

輸入範例

CREATE TABLE users (
  id INT PRIMARY KEY,
  name VARCHAR(50)
);

CREATE TABLE posts (
  id INT PRIMARY KEY,
  user_id INT REFERENCES users(id),
  title VARCHAR(100)
);

輸出範例

erDiagram
    users {
        INT id PK
        VARCHAR(50) name
    }
    posts {
        INT id PK
        INT user_id
        VARCHAR(100) title
    }

    posts }|--|| users : "user_id -> id"

FAQ: FAQ

  • Does it support all SQL dialects?

    It supports standard SQL CREATE TABLE syntax. Some highly specific proprietary vendor extensions may not be fully parsed as it uses a custom regex-based parser.
  • Is my data sent to a server?

    No. All processing is done locally in your browser via JavaScript. Your SQL code never leaves your computer.
  • What if relationships are not showing up?

    Ensure that your statements include FOREIGN KEY or REFERENCES clauses. The tool relies on these constraints to identify and draw relationships.

使用情境: Common Use Cases

  • Database Documentation

    Quickly visualize and document existing table structures by pasting SQL exports.

  • Schema Design Verification

    Self-check your DDL to ensure that relationships and constraints are correctly defined during the design phase.

  • Team Collaboration

    Share specific sub-system structures with your team using lightweight Mermaid syntax before generating full documentation.

注意: Notes & Limitations

  • Limited SQL Syntax

    Statements other than CREATE TABLE (e.g., stored procedures, triggers, complex INDEX definitions) are ignored.

  • Performance with Large Schemas

    Very large schemas with dozens of tables may significantly impact browser rendering performance.

  • Syntax Errors

    Incomplete or malformed SQL statements (missing parentheses, typos) will result in parsing failures.

erDiagram USERS ||--o{ POSTS : "user_id -> id" USERS { int id PK string name } POSTS { int id PK int user_id string title }

SQL 轉 ER 圖工具

CREATE TABLE 等 SQL 定義轉成 ER 圖,視覺化 table、column 與關係。適合理解既有 schema 或建立資料庫文件。

常見用途

  • 理解 legacy schema:把 SQL 轉成視覺結構。
  • 文件化資料庫:產生 review 或指南用 ER diagram。
  • 檢查關係:查看 key 與 table 之間的連結。

未在 SQL 中明確宣告的關係或商業規則,需要人工補充與確認。

這個工具的相關文章

工具介紹
2026-02-19

從 SQL DDL 生成 ER 圖:CREATE TABLE 解析原理

說明 SQL to ER 圖工具如何解析 CREATE TABLE DDL 並轉換成 Mermaid ER 圖:PRIMARY KEY/FOREIGN KEY 的擷取規則、欄位型別的處理方式,以及不支援的 DDL 寫法。

工具介紹
2026-08-03

從資料表設計自動產生 CREATE TABLE 語句的原理|DDL 產生器

解析 DDL 產生器的實作:以視覺化方式設計資料表並產生 CREATE TABLE 語句與 ER 圖。內容涵蓋 MySQL/PostgreSQL/SQLite 的型別轉換規則,以及從 JSON 範例推論欄位的演算法。

使用案例
2026-08-04

CREATE TABLE 參考手冊|MySQL、PostgreSQL、SQLite 的型別與約束差異

以跨資料庫對照表整理 CREATE TABLE(DDL)的寫法:型別對應表、自動編號(AUTO_INCREMENT / IDENTITY / rowid)的方言差異、外鍵的 ON DELETE 行為,以及 MySQL 會靜默忽略的 CHECK 約束。

使用案例
2026-08-06

SQL 子句執行順序參考|為什麼 WHERE 看不到 SELECT 的別名

SQL 並不是照您撰寫的順序執行。以邏輯執行順序(FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY → LIMIT)為主軸,說明別名為何在 WHERE 無法使用、WHERE 與 HAVING 的分工、ONLY_FULL_GROUP_BY、COUNT(*) 與 COUNT(欄位) 的差異,以及 LEFT JOIN 搭配 WHERE 的陷阱。

使用案例
2026-07-21

Mermaid ER 圖語法完全參考|關聯符號與實戰範例

完整整理 Mermaid erDiagram 語法:烏鴉腳表示法的基數對照表、一對多與多對多的差異、含 PK/FK 的屬性定義,以及一個完整的電商範例。

最新文章

使用案例
2026-08-07

curl 選項速查|-X、-H、-d 實際做了什麼與常見陷阱

整理實務上會遇到的 curl 選項:為什麼加了 -d 就已經是 POST、-d 與 --data-raw 的差別、開頭的 @ 會悄悄讀取檔案的陷阱、單引號與雙引號的取捨,以及為什麼 -k 和 -L 值得多想一下。

工具介紹
2026-08-06

JSON Schema 與 Zod 雙向轉換的原理|required 與 .optional() 的對應

解析雙向轉換器的實作:把 JSON Schema 轉成 Zod 結構定義,也把 Zod 程式碼轉回 JSON Schema。內容涵蓋 required 與 .optional() 預設值相反的陷阱、限制條件對照表,以及不執行程式碼就完成剖析的做法。

使用案例
2026-08-06

SQL 子句執行順序參考|為什麼 WHERE 看不到 SELECT 的別名

SQL 並不是照您撰寫的順序執行。以邏輯執行順序(FROM → WHERE → GROUP BY → HAVING → SELECT → ORDER BY → LIMIT)為主軸,說明別名為何在 WHERE 無法使用、WHERE 與 HAVING 的分工、ONLY_FULL_GROUP_BY、COUNT(*) 與 COUNT(欄位) 的差異,以及 LEFT JOIN 搭配 WHERE 的陷阱。

使用案例
2026-08-06

unified diff 格式閱讀指南|看懂 git diff 的 @@ 標頭

說明如何閱讀 git 產生的 unified diff 格式:@@ -12,7 +12,9 @@ 四個數字的意義、只改一個字元為何顯示成整行替換、空白與換行字元的陷阱、\ No newline at end of file、合併提交的 @@@ 組合式 diff,以及以 similarity index 推斷檔案更名。

使用案例
2026-08-06

UTC⇄JST 換算參考手冊|9小時時差對照表與時區踩雷指南

以對照表整理 UTC 與日本時間(JST)的換算,並說明與台灣時間(UTC+8)相差 1 小時的關係。內容涵蓋 ISO 8601 的 Z 與 +09:00、JavaScript 日期解析悄悄位移 9 小時的條件、MySQL/PostgreSQL 的時區行為,以及 GitHub Actions cron 一律以 UTC 執行的陷阱。

使用案例
2026-08-04

CREATE TABLE 參考手冊|MySQL、PostgreSQL、SQLite 的型別與約束差異

以跨資料庫對照表整理 CREATE TABLE(DDL)的寫法:型別對應表、自動編號(AUTO_INCREMENT / IDENTITY / rowid)的方言差異、外鍵的 ON DELETE 行為,以及 MySQL 會靜默忽略的 CHECK 約束。

廣告

廣告