DDL 转 ER 图
粘贴 CREATE TABLE 建表语句,自动解析表与外键,绘制可导出的数据库关系图
拿到一堆建表语句想看表关系,开数据库设计器太重。本工具在浏览器内解析 MySQL / PostgreSQL 风格的 CREATE TABLE DDL:识别表、列、主键与 FOREIGN KEY ... REFERENCES 外键关系,自绘 SVG 关系图(表框 + 1:N 连线,可横向滚动),支持导出 PNG 与复制 mermaid erDiagram 文本。全程本地解析,DDL 不会上传。
粘贴 DDL
- 外键 order_items.product_id 引用的表「products」不在本段 DDL 中,连线已跳过
mermaid erDiagram 文本
erDiagram
users {
BIGINT id PK
VARCHAR_64_ username
VARCHAR_128_ email
DATETIME created_at
}
orders {
BIGINT id PK
BIGINT user_id FK
DECIMAL_10__2_ amount
VARCHAR_16_ status
}
order_items {
BIGINT id PK
BIGINT order_id FK
BIGINT product_id FK
INT quantity
}
users ||--o{ orders : "user_id"
orders ||--o{ order_items : "order_id"
粘贴到 GitHub README、mermaid.live 或任意支持 mermaid 的笔记软件即可渲染。
ER 关系图(自绘 SVG)
图例:蓝 PK 主键列,橙 FK 外键列;连线 N 端为子表(外键所在表),1 端为父表。区域过大时可横向滚动,导出 PNG 为完整画布。
#关于 DDL 转 ER 图
ER 图(实体关系图)把数据库表画成带列清单的方框,用连线表示外键形成的一对多关系。比起打开重量级数据库设计器,直接解析建表语句是评审 schema、写文档、交接项目时更快的方式。本工具在浏览器里完成解析与绘图:先剥离字符串字面量避免 DEFAULT 'a,b(c)' 之类内容干扰括号配对,再按顶层逗号切分每个列定义与约束。
支持哪些 DDL 写法
表级约束 FOREIGN KEY (col) REFERENCES other(col)、带 CONSTRAINT 名字 前缀的外键、列内联写法 col INT REFERENCES other(id) 都能识别;表级与列级 PRIMARY KEY 均会标注。反引号、双引号、schema 前缀(db.table)自动清理。注意:外键指向的父表必须也在同一段 DDL 里出现,否则连线会被跳过并提示。
关系连线怎么读
本工具采用简化记法:连线从子表(持有外键的表,N 端)连向父表(被引用的表,1 端),线上标注「子列 → 父列」。标准 crow foot 鸦爪符号中,父端是「一」、子端是「多」,等价于数据库外键约束本身表达的基数——一个用户可以有多条订单,但订单上的 user_id 只能指向一个用户。多对多中间表会呈现为指向两张父表的两条 1:N 连线。
mermaid 文本怎么用
mermaid 的 erDiagram 是 GitHub、GitLab、Notion、Obsidian 等都认识的图表语法。本工具把解析结果同步导出成 users ||--o{ orders : "user_id" 形式的关系行与列定义块,复制进 Markdown 代码块即可随文档渲染,免去截图维护问题;图需要改动时重新粘贴 DDL 生成即可。
常见问题
- DDL 里有存储过程或 INSERT 会报错吗?不会崩溃,解析器只扫描 CREATE TABLE 块,其余语句直接忽略;括号不配对等结构问题会在提示区列明。
- 导出 PNG 模糊?导出按 2 倍分辨率绘制画布,正常缩放足够清晰;表数量很多时建议改用 mermaid 文本在目标平台矢量渲染。
- 线上数据库的真实关系图不全?很多项目(尤其早期 MySQL MyISAM 时代)没有物理外键,只在应用层维护关系,这类 DDL 解析出的边会偏少,可先补全 FOREIGN KEY 定义再粘贴。
相关工具推荐
Spine动画编辑器
专业的Spine动画预览和编辑工具,支持多引擎导出
SQL查询优化器
分析SQL查询并提供优化建议
JVM启动参数配置
可视化配置Java虚拟机启动参数,支持内存、GC、性能等选项
代码片段转换
不同编程语言间代码片段转换(如Python↔JavaScript)
IP地址查询
查询IP地址的地理位置、运营商、ASN等信息,支持IPv4和IPv6
JSON转TypeScript接口
根据JSON数据自动生成TypeScript类型定义
相关教程
开发者的浏览器工具箱(二):调试排障与数据转换
排障和转换是开发里最费时间的两类小事:日志贴错地方、JSON 转不出类名、正则看不懂别人写的。这篇收录站内 25 款浏览器工具,覆盖日志与堆栈分析、结构转换、编码转义、正则与公式、LLM 成本与 Prompt 版本管理,全部本地处理,敏感日志不出本机。
2026-10-20
配置文件别再抄了:从 CI、ESLint 到 ER 图,九个生成器一次讲透
新仓库开工要手搓 workflow、flat config、Dockerfile,画库表现在要截图 Mermaid,连给 AI 的规范文件都靠复制粘贴——工程配置这件事早该模板化。六个新生成器加三位老将,浏览器里点选生成,全部本地计算不上传。
2026-10-20
SQL格式化与查询优化完全指南
深入讲解SQL格式化的最佳实践和查询优化技巧,帮助开发者编写高效、可读的SQL代码
2026-01-03