SQL转E-R图工具
功能介绍
本项目是一个基于PyQt5开发的桌面可视化工具,能够将MySQL建表SQL文件自动解析为E-R(实体-关系)图,并支持导出为PNG图片。主要功能如下:
- 一键导入SQL文件,自动解析所有表结构及字段注释。
- 左侧展示所有表名(含注释),点击可查看对应表的E-R图。
- 支持导出当前表的E-R图为PNG图片。
- 支持批量导出所有表的E-R图。
- 图形界面友好,支持中文显示。
创作过程
- 界面设计:使用PyQt5实现主窗口,左侧为表名列表,右侧为E-R图显示区,顶部为导入/导出按钮。
- SQL解析:自定义
sql_parser.py,用正则表达式解析MySQL建表语句,提取表名、字段、主键、外键及注释。 - E-R图生成:利用
graphviz库,根据解析结果动态生成E-R图,支持中文字体。 - 图片展示与导出:生成的E-R图以PNG格式保存,并在界面中实时显示,支持单表和批量导出。
- 示例SQL:项目内含
employee.sql作为演示用例,便于用户快速体验。
依赖环境
- Python 3.x
- PyQt5
- graphviz(需本地安装Graphviz软件,并配置环境变量)
快速开始
- 安装依赖:
pip install -r requirements.txt - 运行主程序:
python main.py - 导入SQL文件,点击表名即可查看和导出E-R图。
注意事项
- 若打包为exe,建议在纯英文路径下操作,避免中文路径导致插件加载失败。
- 需提前安装Graphviz软件(graphviz.gitlab.io/download/),…
如有问题欢迎反馈!