7

有没有办法让一个SHOW DATABASESSHOW TABLES命令的输出输出到一个文本文件,类似于SELECT ... INTO OUTFILE工作原理?

在命令INTO OUTFILE上使用时会产生语法错误。SHOW如果有办法使用 cmdline 工具(如 mysqldump)生成外部命令,我愿意接受外部命令。

4

2 回答 2

15

输出它的最佳方式是将数据通过管道传输到文件中。例如:

mysql -u root -e "SHOW DATABASES" > my_outfile.txt

@Velko 的答案是一个很好的答案,但前提是您可以访问服务器文件系统。如果服务器与客户端位于不同的系统上,则管道将是在本地客户端系统上获取文件的唯一方法。

于 2015-11-10T00:40:40.267 回答
4

你可以试试这个:

SELECT TABLE_SCHEMA INTO OUTFILE '/tmp/stack.txt' FROM information_schema.TABLES GROUP BY TABLE_SCHEMA

另一个例子:

SET @databasesInfo := '';
SHOW DATABASES WHERE (@databasesInfo := CONCAT(@databasesInfo, `Database`, ','));
SELECT @databasesInfo INTO OUTFILE '/tmp/so2.txt';
于 2015-11-10T00:00:18.450 回答