如何在 Ubuntu 上的 mysql 中运行 sql 脚本?

Posted

技术标签:

【中文标题】如何在 Ubuntu 上的 mysql 中运行 sql 脚本?【英文标题】:How to run sql script in mysql on Ubuntu? 【发布时间】:2022-01-01 00:18:35 【问题描述】:

我是 sql 新手。我知道我可以使用绝对路径运行脚本:

mysql> source /absolute_path/file.sql;

有没有办法只使用相对路径?还是通过一些变量来简化绝对路径?

【问题讨论】:

【参考方案1】:

如果您使用相对路径,那么它将相对于您在运行 mysql 客户端时所在的当前工作目录。

换句话说,以下是可行的:

$ cd /absolute_path
$ mysql
mysql> source file.sql

我认为您不能在source 命令中使用表达式或变量。它是 mysql 客户端的builtin command,它的解析器比 MySQL 服务器的 SQL 解析器更简单。内置命令不支持表达式或变量。

这里是解析source命令的代码链接:https://github.com/mysql/mysql-server/blob/8.0/client/mysql.cc#L4187-L4197

【讨论】:

以上是关于如何在 Ubuntu 上的 mysql 中运行 sql 脚本?的主要内容,如果未能解决你的问题,请参考以下文章