使用批处理脚本导入 sql 文件

Posted

技术标签:

【中文标题】使用批处理脚本导入 sql 文件【英文标题】:Importing a sql file using a batch script 【发布时间】:2020-12-05 17:15:43 【问题描述】:

我正在尝试制作一个批处理文件,该文件在 phpmyAdmin 中创建一个数据库,然后导入一个数据库文件。这是我在下面使用的。

@echo on
C:\xampp\xampp_start
C:\xampp\mysql\bin\mysqld
C:\xampp\mysql\bin\mysql -u root -e "DROP DATABASE selkirk_stock_control";
C:\xampp\mysql\bin\mysql -u root -e "CREATE DATABASE IF NOT EXISTS selkirk_stock_control";
C:\xampp\mysql\bin\mysql -u root -p selkirk_stock_control ^< C:\xampp\htdocs\30316755\capstone-projects-2020-selkirk-stock-control\Inventory\config\dummyData.sql
pause

谁能看出它为什么不工作?

【问题讨论】:

你为什么要用插入符号 ^ 转义输入重定向字符 &lt;?如果你不这样做会怎样?您在问题中发布了七个命令,哪些命令/未按预期工作?你能提供调试信息来帮助我们吗? 很抱歉。它只是最后一个不起作用 C:\xampp\mysql\bin\mysql -u root -p selkirk_stock_control ^ 我对它的工作原理非常不熟悉 :( 这是错误 C:\xampp\htdocs\30316755\capstone-projects-2020-selkirk-stock-control\Scripts>C:\xampp\mysql\bin\mysql -u root -p selkirk_stock_control 0 【参考方案1】:

我解决了这个问题。我摆脱了 ^ 并更改了文件路径。这是不正确的。

@echo on
C:\xampp\xampp_start
C:\xampp\mysql\bin\mysqld
C:\xampp\mysql\bin\mysql -u root -e "DROP DATABASE selkirk_stock_control";
C:\xampp\mysql\bin\mysql -u root -e "CREATE DATABASE IF NOT EXISTS selkirk_stock_control";
C:\xampp\mysql\bin\mysql -u root -p selkirk_stock_control < C:\xampp\htdocs\30316755\capstone-projects-2020-selkirk-stock-control\Inventory\config\sql\selkirk_stock_control.sql
C:\xampp\mysql\bin\mysql -u root -p selkirk_stock_control < C:\xampp\htdocs\30316755\capstone-projects-2020-selkirk-stock-control\Inventory\config\dummyData\dummyData.sql
pause

【讨论】:

您的意思是“感谢@Compo 在 19 个半小时前发现问题。”?

以上是关于使用批处理脚本导入 sql 文件的主要内容,如果未能解决你的问题,请参考以下文章

我有一堆sql文件需要运行 如何批量运行

使用 sqlplus 命令在批处理文件中执行 sql 脚本

如何使用批处理文件运行多个 SQL 脚本?

问题:使用 phpMyAdmin Works 导入 csv,Php 脚本以不同方式处理 csv 导入

MS SQL执行大脚本文件时,提示“未能完成操作,存储空间不足,无法处理此命令”的解决办法

mysql怎样设置定期自动导入本地文件