基于python实现批量执行sql文件到MySQL数据库exe工具(云服务器或本地MySQL服务器)

如何执行批量执行SQL的exe文件

概述

本文档详细说明了如何使用生成的 batch_exec_sql.exe 文件来批量执行SQL文件到MySQL数据库中。

执行位置

是的,您需要在SQL文件所在的目录下执行exe文件。

原因:

  • 脚本会在当前执行目录中查找所有 .sql 文件
  • 如果在其他目录执行,可能会找不到需要执行的SQL文件

使用方法

方法一:直接在SQL文件目录执行

  1. 将exe文件复制到SQL文件目录

    • 找到生成的 batch_exec_sql.exe 文件(位于 dist 目录中)
    • 将其复制到包含SQL文件的目录中
  2. 运行exe文件

    • 双击 batch_exec_sql.exe 文件
    • 或在命令行中进入该目录并执行 batch_exec_sql.exe
  3. 输入配置信息

    • 按照提示输入数据库配置信息,包括:
      • 数据库主机地址(默认为localhost,直接按回车使用默认值)
      • 数据库用户名(默认为root,直接按回车使用默认值)
      • 数据库密码(输入时不会显示,确保输入正确)
      • 数据库名称(默认为ims_dev,直接按回车使用默认值)
      • 数据库端口(默认为3306,直接按回车使用默认值)
      • 数据库字符集(默认为utf8mb4,直接按回车使用默认值)
  4. 等待执行完成

    • 脚本会自动执行目录下的所有SQL文件
    • 执行完成后,会显示执行结果统计

方法二:通过命令行指定目录

如果您不想复制exe文件,也可以通过命令行方式执行:

  1. 打开命令行窗口

    • 按下 Win + R,输入 cmd,然后按回车
  2. 切换到SQL文件目录

    • 使用 cd 命令切换到包含SQL文件的目录
    • 例如:cd C:\path\to\sql\files
  3. 执行exe文件

    • 输入完整的exe文件路径并执行
    • 例如:C:\path\to\batch_exec_sql.exe
  4. 输入配置信息

    • 与方法一相同,按照提示输入数据库配置信息
  5. 等待执行完成

    • 执行完成后,会显示执行结果统计

执行过程示例

复制代码
请输入数据库主机地址 [localhost]: 
请输入数据库用户名 [root]: 
请输入数据库密码: 
请输入数据库名称 [ims_dev]: 
请输入数据库端口 [3306]: 
请输入数据库字符集 [utf8mb4]: 
正在连接数据库...
数据库连接成功!
找到 128 个SQL文件
执行文件 1/128: act_app_appdef.sql
执行文件 2/128: act_app_databasechangelog.sql
...
执行文件 128/128: sys_user_role.sql

执行完成!
总文件数: 128
成功执行: 94
执行失败: 34
总执行时间: 2.28 秒
数据库连接已关闭
请按任意键继续...

常见问题及解决方案

1. 找不到SQL文件

问题:执行时显示 "找到 0 个SQL文件"

解决方案

  • 确保在SQL文件所在的目录下执行exe文件
  • 确保目录中确实存在 .sql 后缀的文件
  • 检查文件扩展名是否正确(应为 .sql,而不是 .txt 等其他扩展名)

2. 数据库连接失败

问题:执行时显示 "数据库操作出错: (1045, "Access denied for user 'root'@'localhost' (using password: YES)")"

解决方案

  • 检查数据库服务是否已启动
  • 确保输入的数据库密码正确
  • 确保数据库用户有足够的权限
  • 确保数据库名称正确且已存在

3. 执行过程中出现错误

问题:执行某些SQL文件时出现错误

解决方案

  • 外键约束失败:调整SQL文件的执行顺序,先执行被依赖的表
  • 主键重复:删除数据库中的现有数据,或修改SQL文件中的插入语句
  • SQL语法错误:手动编辑SQL文件,移除非SQL内容

4. 执行完成后无响应

问题:执行完成后窗口没有自动关闭

解决方案

  • 这是正常现象,按任意键即可关闭窗口

注意事项

  1. 备份数据:执行前请备份数据库,以防数据丢失
  2. 权限问题:确保数据库用户有足够的权限执行SQL语句
  3. 文件编码:确保SQL文件的编码格式正确,建议使用UTF-8编码
  4. 执行顺序:对于有依赖关系的表,可能需要调整SQL文件的执行顺序
  5. 错误处理:脚本会尝试执行所有文件,即使某些文件执行失败也会继续执行其他文件

总结

  • 必须在SQL文件所在的目录下执行exe文件
  • 执行时会提示输入数据库配置信息,可使用默认值
  • 执行完成后会显示详细的执行结果统计
  • 对于执行失败的文件,需要根据错误信息手动处理

通过以上步骤,您可以轻松使用 batch_exec_sql.exe 文件批量执行SQL文件到MySQL数据库中,无需安装Python环境。

相关推荐
happyboy19862116 分钟前
2026大专财富管理可以转数据分析吗?
数据库·数据挖掘·数据分析
杰克尼7 分钟前
苍穹外卖--day11
java·数据库·spring boot·mybatis·notepad++
weixin199701080169 分钟前
搜好货商品详情页前端性能优化实战
java·前端·python
王夏奇9 分钟前
python-pytest学习
python·学习·pytest
BUG?不,是彩蛋!10 分钟前
从 Q-Learning 到 LLM:我把 AI 的“大脑”换成了 GPT,发生了什么?
人工智能·python·gpt
Y0011123610 分钟前
Day2-MySQL-SQL-1
sql·mysql·oracle
LaughingZhu12 分钟前
Product Hunt 每日热榜 | 2026-03-12
大数据·数据库·人工智能·经验分享·搜索引擎
XiYang-DING15 分钟前
【Java SE】Java代码块详解
java·开发语言·python
白云如幻16 分钟前
【JDBC】面向对象的思路编写JDBC程序
java·数据库