Mysql:如何从其他 sql 脚本文件中调用 sql 脚本文件?

Posted

技术标签:

【中文标题】Mysql:如何从其他 sql 脚本文件中调用 sql 脚本文件?【英文标题】:Mysql: How to call sql script file from other sql script file? 【发布时间】:2011-05-01 01:32:12 【问题描述】:

假设我编写了创建表 ABC 的脚本 Table_ABC.sql。我为每个必需的表创建了许多这样的脚本。现在我想编写一个按顺序调用所有这些脚本文件的脚本,所以基本上我想要另一个脚本文件 createTables.sql。 mysql 提供了从“mysql” shell 应用程序执行脚本文件的选项,但可以找到诸如 exec c:/myscripts/mytable.sql 之类的命令。请告诉我是否有任何可以用 sql 脚本本身编写的命令来调用最新 mysql 版本中的其他命令或相同的替代方法。

谢谢

【问题讨论】:

我认为您不能将所有 SQL 文件放在一个文件中并运行它是有原因的? 我正在为每个表创建一个脚本,以便更好地构建和管理。 【参考方案1】:

您可以使用source 命令。所以你的脚本会是这样的:

use your_db;
source script/s1.sql;
source script/s2.sql;
-- so on, so forth

【讨论】:

我已经浏览过这个页面。 source 命令在 mysql 应用程序上运行,但我想在 mysql 工作台的查询分析器工具上运行它。谢谢 是否可以给出脚本文件相对于包含这些命令的文件的相对路径。 mysql工作台显示错误“SOURCE (source) is not valid input at this position”。

以上是关于Mysql:如何从其他 sql 脚本文件中调用 sql 脚本文件?的主要内容,如果未能解决你的问题,请参考以下文章

dbaccess如何调用sql脚本

在shell脚本中执行mysql,调用sql文件,将sql文件执行结果存入新的日志文件中,但日志文件没有sql结果

shell脚本中执行mysql sql脚本文件并传递参数

如何从雪管中调用 SQL 脚本

如何执行一个mysql的sql脚本文件

如何捕获从 MYSQL 触发器(嵌入在另一个 py 脚本中)内部调用的 python 脚本的输出?