# MySql数据库字典 **Repository Path**: liu_de_long/MysqlDictionary ## Basic Information - **Project Name**: MySql数据库字典 - **Description**: 使用PHPword导出word文档 - **Primary Language**: PHP - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 9 - **Forks**: 5 - **Created**: 2019-07-13 - **Last Updated**: 2026-01-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # MySQL数据库字典、World文档生成 ## 项目介绍 MySQL数据库字典是一个用于自动生成数据库文档的PHP项目。当客户需要数据库文档时,只需配置数据库连接信息,即可快速生成标准化的Word格式数据库字典文档。项目采用三层架构设计,具有良好的可维护性和扩展性。 ## 界面展示 ![操作界面](Snipaste_2026-01-14_14-40-22.png "操作界面.png") ![输入图片说明](https://images.gitee.com/uploads/images/2019/0713/105217_ebf8d2db_4880195.png "word文档格式.png") ## 功能特性 **核心功能** - 自动获取数据库表结构和字段信息 - 一键导出Word格式数据库文档 - 支持批量选择表进行导出 - 实时搜索过滤功能 **界面特性** - 全选/取消全选功能 - 增大的复选框点击区域 - 实时搜索过滤表名 - 优化的导出按钮位置 **安全特性** - 配置文件分离,敏感信息不暴露在代码中 - 严格的输入验证机制 - 使用预处理语句防止SQL注入 **系统特性** - 完整的日志记录功能 - 系统健康检查脚本 - 自动创建日志目录 - 支持中文文件名处理 ## 软件架构 项目采用经典的三层架构模式组织代码: | 层次 | 目录 | 职责 | |------|------|------| | Model层 | src/Models/ | 数据访问和业务数据处理 | | Controller层 | src/Controllers/ | 业务逻辑处理 | | Utils层 | src/Utils/ | 通用工具函数 | **核心技术** - PHP PDO数据库访问层 - PHPWord库生成Word文档 - Bootstrap构建用户界面 - 自定义样式优化体验 ## 目录结构 ``` MysqlDictionary/ config.php # 配置文件 health_check.php # 系统健康检查脚本 index.html # 根目录跳转页面 .env.example # 环境配置示例 .htaccess # Apache安全配置 includes/ init.php # 初始化文件 Database.php # 数据库连接类(PDO) load_env.php # 环境变量加载 src/ Models/ DatabaseModel.php Controllers/ TableController.php Utils/ ResponseHelper.php __PUBLIC__/ css/ bootstrap.min.css style.min.css public/ # 公共访问目录 index.php # 主页入口 tableinfo.php # 表信息页面 wordtable.php # Word导出功能 .htaccess PHPWord/ # Word文档生成库 ``` ## 安装配置 ### 环境要求 - PHP 7+ - PDO扩展 - MySQL数据库 - Apache/Nginx Web服务器 ### 安装步骤 1. **准备配置文件** 复制环境配置示例文件: ```bash cp .env.example .env ``` 2. **配置数据库连接** 编辑`.env`文件,填入数据库配置信息: ```env DB_DRIVER=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_USERNAME=root DB_PASSWORD=your_password DB_NAME=your_database DB_CHARSET=utf8 ``` 3. **部署到Web服务器** 将项目放置在Web服务器根目录下的`MysqlDictionary`目录中: ``` /var/www/html/MysqlDictionary/ ``` 4. **配置URL重写(推荐)** 确保启用`.htaccess`支持,或者直接访问`public`目录: ``` http://localhost/MysqlDictionary/public/ ``` 5. **访问应用** 通过浏览器访问项目地址即可使用。 ## 使用说明 ### 界面操作 1. 访问项目首页,自动列出数据库中所有表 2. 使用搜索框实时过滤表名 3. 点击表名可查看表结构详情 4. 勾选需要导出的表(支持全选) 5. 点击导出按钮生成Word文档 ### 导出格式 导出的Word文档包含以下信息: - 数据库表列表 - 表名和表注释 - 字段名称、类型、长度 - 字段默认值 - 是否允许为空 - 字段注释 - 索引信息 ### 健康检查 访问`health_check.php`可检查系统状态: ```bash http://localhost/MysqlDictionary/health_check.php ``` 检查项目包括: - 数据库服务器连接 - 数据库存在性验证 - PHP扩展加载状态 - 类文件可用性 ### 日志管理 系统日志记录在`logs/app.log`文件中,包含: - 数据库操作记录 - 用户操作记录 - 错误和异常信息 - 导出操作记录 建议定期清理日志文件以节省磁盘空间。 ## 数据库支持 ### 当前支持的数据库 | 数据库 | 状态 | 备注 | |--------|------|------| | MySQL | 已支持 | 默认使用INFORMATION_SCHEMA查询 | | PostgreSQL | 待适配 | 需要适配查询语句 | | SQLite | 待适配 | 需要使用系统表 | ### 配置示例 在`config.php`或`.env`中配置数据库连接: ```php 'database' => [ 'driver' => $_ENV['DB_DRIVER'] ?? 'mysql', 'host' => $_ENV['DB_HOST'] ?? '127.0.0.1', 'port' => $_ENV['DB_PORT'] ?? '3306', 'username' => $_ENV['DB_USERNAME'] ?? 'root', 'password' => $_ENV['DB_PASSWORD'] ?? '', 'database' => $_ENV['DB_NAME'] ?? 'test', 'charset' => $_ENV['DB_CHARSET'] ?? 'utf8' ] ``` ## 安全建议 ### 配置文件保护 - 确保`.env`文件不被Git版本控制 - 设置配置文件权限为600 - 禁止通过Web直接访问配置文件 ### 访问控制 - 配置Web服务器限制IP访问 - 启用HTTPS加密传输 - 生产环境关闭调试模式 ### 输入验证 项目已内置以下安全措施: - 表名正则表达式验证 - 参数化查询防注入 - 输出内容过滤 ## 技术支持 如有问题或建议,请通过Gitee项目页面提交Issue。 ## 许可证 本项目采用MIT许可证开源。