从脚本在命令行上运行 MySQL 查询 [重复]

Posted

技术标签:

【中文标题】从脚本在命令行上运行 MySQL 查询 [重复]【英文标题】:Run MySQL query on command line from a script [duplicate] 【发布时间】:2017-01-14 23:09:59 【问题描述】:

如何使用 mysql 客户端通过 ubuntu 命令行从脚本运行 mysql 查询?我知道我可以使用以下命令:

mysql -uroot -psecret -e "select * ..."

但是我的查询太大了,想从脚本中读取。我尝试了以下方法,但没有奏效:

mysql -uroot -psecret < /path/to/script.sql

我得到了错误:

ERROR 1046 (3D000) at line 1: No database selected

【问题讨论】:

需要指定数据库名:mysql -uroot -psecret yourDatabaseName &lt; /path/to/script.sql 另一种方法是在 script.sql 中添加use xxxx; 【参考方案1】:

只需指定数据库名称

mysql -D yourdbname -uroot -pYourpassword /to/script.sql

-D, --database=name 要使用的数据库。

-p, --password[=name] 连接服务器时使用的密码。 -h, --host=name 连接到主机。

【讨论】:

【参考方案2】:

我认为你应该尝试这种方式。

mysql --host=localhost --user=your_username --password=your_password  -e "script.sql"

【讨论】:

我认为 Tim Biegeleisen 解决方案也有效

以上是关于从脚本在命令行上运行 MySQL 查询 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

pyspark:运行 python 脚本并在命令行上查看结果

将 MySQL 命令行结果的输出格式更改为 CSV

在命令行上获取当前年份[重复]

回答在 PHP 命令行上运行的程序提出的问题

某些选项卡字符在shell脚本中不匹配,但在命令行上执行

在 txt 文件 Linux 命令行上显示 php 输出