基于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环境。

相关推荐
AC赳赳老秦9 分钟前
采集行为合规自检:OpenClaw 自动校验 robots 协议与采集频率,规避违规采集风险
java·开发语言·c++·python·php·deepseek·openclaw
迅猛龙办公室15 分钟前
Python输出当前计算机的系统日期和时间
开发语言·前端·python
泡海椒20 分钟前
数据占比展示:jquick-pdf饼图动态数据渲染PDF教程
数据库·oracle·pdf
大连好光景36 分钟前
向量数据库的工作流程详解
数据库·milvus
catchadmin38 分钟前
用 Jev 与 Laravel AI SDK 检测垃圾邮件和自动回复
数据库·人工智能·laravel
吠品2 小时前
CSS图片模糊过渡:一个transition加filter就够
java·数据库·notepad++
XiaoMaqqqq2 小时前
知名的IP驱动产业新场景新工具
网络·python·网络协议·tcp/ip
言乐62 小时前
Python实现语音审核模型
开发语言·python·django·virtualenv·pygame
程序员清风3 小时前
Python 数据分析环境搭建:从 Jupyter 到 pandas
python·jupyter·数据分析
梦想不只是梦与想3 小时前
对象存储服务器vs数据库
数据库·对象存储·图片存储