【发布时间】:2011-06-19 01:45:54
【问题描述】:
我正在尝试在我的 Windows XAMPP 环境中运行一组带有存储过程和触发器的 sql 文件。有些人建议我使用批处理脚本,但我不知道如何在 Windows 中执行此操作。
是否可以在 MySQL Workbench 中运行所有这些 .sql 文件?如何?如果没有,谁能告诉我如何在 Windows 中运行批处理文件?
谢谢。
【问题讨论】:
标签: mysql stored-procedures xampp
我正在尝试在我的 Windows XAMPP 环境中运行一组带有存储过程和触发器的 sql 文件。有些人建议我使用批处理脚本,但我不知道如何在 Windows 中执行此操作。
是否可以在 MySQL Workbench 中运行所有这些 .sql 文件?如何?如果没有,谁能告诉我如何在 Windows 中运行批处理文件?
谢谢。
【问题讨论】:
标签: mysql stored-procedures xampp
Workbench 似乎不支持命令“SOURCE”,所以下一个最好的事情是(至少在 Windows 中)是运行批处理作业。只需创建一个新的 .sql 文件并将完整路径添加到每个 .sql 文件,如下所示:
创建批处理文件:
在 Windows 中,批处理文件可以是一个 .sql,其中 sql 命令 SOURCE 调用其他 .sql 文件,如下所示:
创建 run.sql
SOURCE C:\xampp\htdocs\mysite\sql\procs\sp_article_delete.sql
SOURCE C:\xampp\htdocs\mysite\sql\procs\sp_article_insert.sql
SOURCE C:\xampp\htdocs\mysite\sql\procs\sp_article_load.sql
打开命令行和 CD 到 MySQL 文件夹
打开命令行,然后 cd 到 MySQL。如果您使用的是 XAMPP,则命令/位置应类似于:
cd C:\xampp\mysql\bin\
按 ENTER 执行批处理文件
最后,只需加载 mysql 并使用以下命令运行批处理文件:
mysql -u root -h 127.0.0.1 my_database_name -vvv < C:\xampp\htdocs\mysite\sql\procs\run.sql
上面的执行意思如下:
mysql -u <username> -h <host> <database> -vvv < <batch_path_file_name>
-vvv 显示正在执行的所有查询以及调试受影响的行。
就是这样。 run.sql 文件中提到的所有 .sql 文件都会被执行。
【讨论】: