From eebc08255454409980d321d67c549feeccfc39ef Mon Sep 17 00:00:00 2001 From: gitee-bot Date: Wed, 30 Jul 2025 07:07:48 +0000 Subject: [PATCH] Update README.md --- README.md | 129 ++++++++++++++++++++++++++---------------------------- 1 file changed, 63 insertions(+), 66 deletions(-) diff --git a/README.md b/README.md index 3cf8bf7..03d8438 100644 --- a/README.md +++ b/README.md @@ -1,78 +1,75 @@ # 数据库-测试数据构建工具 -#### 介绍 -一个用于快速生成数据库测试表结构与数据的图形界面工具,支持 MySQL、Oracle、PostgreSQL 等主流数据库。适配多种数据库不同场景的测试数据/表结构构建工具 -该工具旨在为多种数据库生成结构化表并插入模拟数据。 -#### 软件架构 -软件架构说明 +## 介绍 +这是一个用于生成数据库测试数据的图形界面工具,支持多种数据库类型。用户可以通过简单的界面操作来配置生成参数,并生成相应的SQL语句,用于快速构建测试环境。 + +## 软件架构 +该工具采用Python编写,使用了`tkinter`库进行图形界面开发,并利用了以下第三方库: +- `pymysql`:用于MySQL数据库连接。 +- `cx_Oracle`:用于Oracle数据库连接。 +- `psycopg2`:用于PostgreSQL数据库连接。 +- `jaydebeapi`:用于达梦(DM)数据库的JDBC连接。 +- `ttkthemes`:提供主题化的Tkinter小部件。 +- `Crypto`:用于AES加密功能。 +- `base64`:用于编码和解码数据。 ## ✨ 功能特点 +- 支持多种数据库类型(Oracle, MySQL, PostgreSQL, GoldenDB, OceanBase, DM, TDSQL) +- 可视化配置数据库连接信息 +- 自定义表结构参数(如表数量、字段数、插入行数等) +- 生成SQL预览 +- 执行SQL模拟 +- 导出SQL文件 +- 清空输出 +- 测试数据库连接 +- 构建加密数据选项(MD5, AES.CDB, SHA256) -- 一键生成指定数量的测试表 -- 支持字段数量、类型、字符长度、表前缀等参数配置 -- 支持表名自动编号或随机命名 -- 支持主键自动添加 -- 可选择字段类型注释展示 -- 支持将生成 SQL 导出到本地文件 -- 支持连接测试及模拟执行 -- 可构建大数据量环境用于性能压测 ![输入图片说明](image.png) ---- ## 🖼️ 图形界面展示 - -界面使用 Python 标准库 `tkinter` 实现,简洁直观,支持如下配置: - -- 主机、端口、用户名、密码 -- 数据库类型选择 -- 表数量、字段数、字段前缀、表前缀 -- 是否自动编号、是否添加主键 -- 输出 SQL 预览、模拟执行、导出 SQL - ---- +工具提供了一个直观的用户界面,允许用户设置数据库连接参数、表生成参数以及控制生成的数据特性。界面包括输入框、下拉菜单、复选框和按钮等元素,以方便用户进行交互。 ## 🧱 数据库支持 - -- ✅ MySQL / MariaDB -- ✅ Oracle -- ✅ PostgreSQL -- ⚠️ GoldenDB / OceanBase / TDSQL(部分模拟支持) -- ⚠️ DM(达梦)需额外驱动 - +- Oracle +- MySQL +- PostgreSQL +- GoldenDB +- OceanBase +- DM (达梦) +- TDSQL ## 平台兼容性 - -| 系统平台 | 兼容性 | -|---------------|----------| -| Windows 10/11 | ✅ | -| Linux | ✅ | -| macOS | ⚠️ 部分支持,Oracle 连接需注意客户端支持问题 | - -#### 安装教程 - -1. xxxx -2. xxxx -3. xxxx - -#### 使用说明 - -1. xxxx -2. xxxx -3. xxxx - -#### 参与贡献 - -1. Fork 本仓库 -2. 新建 Feat_xxx 分支 -3. 提交代码 -4. 新建 Pull Request - - -#### 特技 - -1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md -2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) -3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 -4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 -5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) -6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) +本工具基于Python开发,理论上可以在任何安装了Python解释器的操作系统上运行,包括Windows、Linux和macOS。 + +## 安装教程 +1. 确保您的系统中已安装Python 3.x。 +2. 安装所需的Python包: + ```bash + pip install pymysql cx_Oracle psycopg2-binary ttkthemes pycryptodome jaydebeapi + ``` +3. 下载或克隆项目到本地。 +4. 将`DmJdbcDriver18.jar`驱动程序放置在项目的`jdbc_driver`目录下,如果需要支持达梦数据库的话。 +5. 运行主脚本`Table_Generator_gui.py`启动应用程序。 + +## 使用说明 +1. 启动程序后,在“数据库连接”部分选择数据库类型并填写相应的连接参数。 +2. 在“表生成参数”区域设定表的数量、字段数、插入行数等。 +3. 通过勾选不同的复选框来决定是否添加主键、表名自动编号或随机化表名等。 +4. 如果需要生成加密数据,请勾选“构建加密数据”并选择具体的加密算法。 +5. 点击“生成预览”按钮查看将要生成的SQL语句。 +6. 点击“执行SQL (模拟)”尝试直接在数据库中执行生成的SQL。 +7. 若要保存生成的SQL,点击“导出SQL”按钮并指定文件路径。 +8. 使用“清空”按钮清除当前输出区域的内容。 +9. 在进行正式操作前,可以点击“测试连接”确保数据库连接正常。 + +## 参与贡献 +我们欢迎社区成员参与到这个项目的改进中来。您可以提交bug报告、提出新特性建议或者贡献代码。请遵循以下步骤参与贡献: +- Fork项目仓库 +- 创建新的分支 +- 提交您的更改 +- 发起Pull Request + +## 特技 +- 多线程处理:在执行耗时的操作时不会阻塞UI响应。 +- 文本重定向:将标准输出重定向到GUI中的文本框,便于实时监控程序执行情况。 +- 动态UI更新:根据用户的选择动态显示或隐藏相关的配置选项。 \ No newline at end of file -- Gitee