我试图使用以下命令选择同一行中的所有数据库:

mysql -s -u root -p -e "show databases;"

但是,它以多行显示表示所有可用数据库的行。
例子:
foo
bar
baz

但我希望输出如下:
foo bar baz

show databases查询就是一个例子,它还可以帮助我找到可以在同一行中显示每个选定行的任何解决方案。
--silent选项似乎工作不正常:
s, --silent        Be more silent. Print results with a tab as separator,
                   each row on new line.

最佳答案

您可以使用查询而不是命令。以下查询将所有数据库放在一个用空格分隔的列表中:

SELECT group_concat(SCHEMA_NAME separtor ' ') as databases
FROM INFORMATION_SCHEMA.SCHEMATA;

你可以这样执行:
mysql -s -u root -p -e "SELECT group_concat(SCHEMA_NAME separtor ', ') as databases FROM INFORMATION_SCHEMA.SCHEMATA"

10-06 02:21