【问题标题】:How to create batch file that executes several sql files如何创建执行多个 sql 文件的批处理文件
【发布时间】:2015-06-23 04:47:02
【问题描述】:

我有几个每天需要执行的sql文件。

我想用批处理文件来实现。

假设 *.bat 文件和 *.sql 文件在一个文件夹中

我是使用 *.bat 文件的新手。

是的,可能重复,但我找到了很多答案,但我不明白所有答案。

我正在使用 mySQL、dbforge、Windows 7。

我在 *.bat 文件中有这个字符串:

echo mysql --host=localhost --user=myuser --password=mypass --database=dbName

但如果我执行它,什么也没发生。

我的sql查询:

INSERT INTO s_g01(customer_id, city)
(SELECT t1.customer_id,dr.caption 
  FROM devls.dict_regions dr
  INNER JOIN devls.adm_terminal at
    ON dr.id = at.region_id
  INNER JOIN devls.transaction t1
    ON at.id = t1.terminal_id AND t1.reason_id = 6) 
  ON DUPLICATE KEY UPDATE city = dr.caption

【问题讨论】:

  • 回声只是转储出来确实运行...沟回声部分
  • @DrewPierce 好的,谢谢!

标签: mysql sql windows batch-file


【解决方案1】:

在您的批处理文件中更新以下行并通过调度程序安排此批处理文件。

cd "c:\Program Files (x86)\MySQL\MySQL Server 5.5\bin"

mysql -h server_ip -u<usernane> -p<password> db_name < script.sql

pause
exit

script.sql 文件应该与批处理文件所在的路径相同,否则您需要提供带有 script.sql 文件名的完整路径。

【讨论】:

  • 我不知道 server_ip 或者我可以写 localhost?
  • 如果 mysql 在您的本地机器上,那么您可以放置​​ localhost,但如果您使用的是远程服务器,那么您必须放置 server_ip。
  • 据我了解,您运行 1 个 *.sql 文件,我需要运行文件夹中的所有文件。
  • 我执行了我的 *.bat 文件,但它也无法正常工作。可能是我的sql语法错误?我编辑了我的问题,添加了我的 sql 查询。
  • 第 1 步:从任何 gui 工具执行查询并检查查询是否正常,第 2 步:现在从命令行执行批处理文件的给定命令并检查您是否能够执行它。第三步:如果第二步成功了,再使用第三步,这样可以查出问题是和批处理文件有关还是别的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-12-26
  • 2016-02-05
  • 1970-01-01
  • 2020-06-15
  • 2020-01-27
  • 1970-01-01
  • 2014-06-21
相关资源
最近更新 更多