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

相关推荐
思绪无限13 小时前
YOLOv5至YOLOv12升级:快递包裹检测系统的设计与实现(完整代码+界面+数据集项目)
人工智能·python·深度学习·目标检测·计算机视觉·快递包裹检测
oradh13 小时前
Oracle数据库序列和同义词概述
数据库·oracle·数据库基础·数据库入门·oracle序列·oracle同义词
treesforest13 小时前
Ipdatacloud IP 地址查询方案适合哪些场景?
大数据·网络·数据库·网络协议·tcp/ip·ip
TeDi TIVE13 小时前
C#数据库操作系列---SqlSugar完结篇
网络·数据库·c#
你觉得脆皮鸡好吃吗13 小时前
SQL注入 高权限注入(引入概念)
网络·数据库·sql·oracle·网络安全学习
千寻girling13 小时前
机器学习 | 逻辑回归 | 尚硅谷学习
java·人工智能·python·学习·算法·机器学习·逻辑回归
SarL EMEN13 小时前
Linux(CentOS)安装 MySQL
linux·mysql·centos
永远不会的CC13 小时前
研0上岸找实习面试经历
python·算法·面试
l1t13 小时前
duckdb excel插件和rusty_sheet插件在python中的不同表现
开发语言·python·excel
数智化精益手记局13 小时前
4m变更管理实战:拆解4m变更管理四大要素的管控功能与常见难题
大数据·数据结构·数据库·人工智能·精益工程