如何执行SQL文件,并在一个命令中将结果保存到txt文件?

时间:2016-04-02 02:12:32

标签: mysql

我正在使用Ubuntu终端。我找到了关于运行.sql文件的答案,以及如何将查询结果保存到外部文件。我怎么能同时做到这两件事?

我尝试过这个命令:source /path/to/file.sql into outfile /path/to/outfile.txt

我尝试将into outfile /path/to/outfile.txt直接添加到file.sql并运行source /path/to/outfile.sql

我已尝试mysql -u <username> -p <database> file.sql > results.txt.如果我使用file.sql这样的内容切换-e "select * from myTable",那么它可以正常工作。

我该怎么做?

编辑:这是file.sql

select myID from Players where score > 80;

这是一个简单的查询,但如果我能解决这个问题,我可以尝试做更大的查询。

3 个答案:

答案 0 :(得分:6)

你的答案在这里:http://dev.mysql.com/doc/refman/5.7/en/mysql.html

  

您可以在脚本文件(批处理文件)中执行SQL语句,如下所示:

     

壳&GT; mysql db_name&lt; script.sql&gt; output.tab

试试这个:mysql -u username -p database < file.sql > results.txt

答案 1 :(得分:1)

mysql -u root -p -e"`cat /path/to/file.sql`" > result.txt

答案 2 :(得分:0)

@FLefèvre有一个解决方案,但我无法让它工作。它只输出一个MySQL帮助页面,显示不同的命令。

将其添加到sql文件:.... into outfile '/path/to/outfile.txt'。路径上的单引号或双引号。然后在MySQL shell中,只需执行source /path/to/file.sql