# pyNavicate **Repository Path**: hanjiangjiaolong/py-navicate ## Basic Information - **Project Name**: pyNavicate - **Description**: 用python做一个类似navicate的数据库管理工具 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-07-28 - **Last Updated**: 2025-07-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 这是一个高仿的Navicat GUI,基于Python和PyQt6开发。 具有Navicat pro的功能,如数据库树、数据视图、数据导入导出、结构管理、备份恢复、可视化查询构建器等。 ![演示](demo.gif) ```text PyNavicat/ ├── core/ # 核心功能模块 │ ├── __init__.py │ ├── connection.py # 连接管理 │ ├── query_engine.py # SQL执行引擎 │ ├── data_viewer.py # 数据展示 │ ├── schema_tool.py # 结构管理 │ ├── backup_tool.py # 备份恢复 │ ├── data_transfer.py # 数据导入导出 │ └── visual_query.py # 可视化查询构建器 ├── ui/ # 用户界面 │ ├── __init__.py │ ├── main_window.py # 主窗口 │ ├── connection_dialog.py │ ├── sql_editor.py │ ├── data_view.py │ ├── schema_view.py │ ├── table_designer.py │ └── visual_query_builder.py ├── widgets/ # 自定义控件 │ ├── __init__.py │ ├── db_tree.py # 数据库对象树 │ ├── result_tab.py # 结果选项卡 │ ├── status_bar.py # 增强状态栏 │ └── syntax_editor.py # SQL语法编辑器 ├── resources/ # 图标和资源 │ ├── icons/ │ │ ├── database.png │ │ ├── table.png │ │ ├── column.png │ │ └── ... │ └── styles/ │ └── dark.qss # 暗色主题 ├── utils/ # 工具函数 │ ├── __init__.py │ ├── logger.py # 日志系统 │ └── crypto.py # 加密工具 ├── main.py # 程序入口 ├── requirements.txt # 依赖列表 └── README.md # 项目文档 ``` GUI框架: PyQt6 (专业级桌面界面) 数据库支持: MySQL: pymysql PostgreSQL: psycopg2 SQL Server: pyodbc SQLite: 内置 MongoDB: pymongo 数据处理: Pandas (数据操作和分析) 图表可视化: Matplotlib + Plotly SQL编辑器: QScintilla (语法高亮和自动完成) 打包工具: PyInstaller ### 使用说明 - 安装依赖: ```text pip install -r requirements.txt # 使用清华源 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt ``` - 运行程序: ```text python main.py ``` - 打包成一个exe文件 ```text pyinstaller --onefile --windowed --name "PyNavicat" --add-data="resources;resources" main.py ``` - 源码打包 ```text pyinstaller main.py --add-data "resources/.encryption_key;resources" ```