python做的SQL转ER图工具

148 阅读1分钟

SQL转E-R图工具

功能介绍

本项目是一个基于PyQt5开发的桌面可视化工具,能够将MySQL建表SQL文件自动解析为E-R(实体-关系)图,并支持导出为PNG图片。主要功能如下:

  • 一键导入SQL文件,自动解析所有表结构及字段注释。
  • 左侧展示所有表名(含注释),点击可查看对应表的E-R图。
  • 支持导出当前表的E-R图为PNG图片。
  • 支持批量导出所有表的E-R图。
  • 图形界面友好,支持中文显示。

创作过程

  1. 界面设计:使用PyQt5实现主窗口,左侧为表名列表,右侧为E-R图显示区,顶部为导入/导出按钮。
  2. SQL解析:自定义sql_parser.py,用正则表达式解析MySQL建表语句,提取表名、字段、主键、外键及注释。
  3. E-R图生成:利用graphviz库,根据解析结果动态生成E-R图,支持中文字体。
  4. 图片展示与导出:生成的E-R图以PNG格式保存,并在界面中实时显示,支持单表和批量导出。
  5. 示例SQL:项目内含employee.sql作为演示用例,便于用户快速体验。

依赖环境

  • Python 3.x
  • PyQt5
  • graphviz(需本地安装Graphviz软件,并配置环境变量)

快速开始

  1. 安装依赖:
    pip install -r requirements.txt
    
  2. 运行主程序:
    python main.py
    
  3. 导入SQL文件,点击表名即可查看和导出E-R图。

注意事项


如有问题欢迎反馈!

1.png