如何在 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 脚本?的主要内容,如果未能解决你的问题,请参考以下文章

如何从 docker 容器中的 python 脚本连接到 localhost 上的 mysql 数据库

如何在 ubuntu 上的 emacs 中运行 shell 命令,同时避免 bash 作业控制错误?

如何在Ubuntu上的某些样式表中运行qt creator?

为啥我的网站在 xampp 中运行,但不在我的 Apache 服务器和我在 Ubuntu 上设置的 mySQL 中运行?

为啥 Spring Batch 在我的 Ubuntu 20.04 机器上的 MySql 上创建小写表?

Ubuntu上的Mysql apache2 phpmyadmin