如何在 Ubuntu mysql 中 运行 sql 编写脚本?

How to run sql script in mysql on Ubuntu?

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

mysql> source /absolute_path/file.sql;

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

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

换句话说,以下方法可行:

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

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

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