我正在使用PuTTY运行:
mysql> SELECT * FROM sometable;
Sometable有许多字段,这导致许多列试图显示在终端中。字段换行到下一行,因此很难将列标题与字段值对齐。
在终端中查看这些数据有什么解决方案?
我没有也不想访问phpMyAdmin -或任何其他GUI界面。我正在寻找这样的命令行解决方案:将MySQL查询结果保存为文本或CVS文件
我正在使用PuTTY运行:
mysql> SELECT * FROM sometable;
Sometable有许多字段,这导致许多列试图显示在终端中。字段换行到下一行,因此很难将列标题与字段值对齐。
在终端中查看这些数据有什么解决方案?
我没有也不想访问phpMyAdmin -或任何其他GUI界面。我正在寻找这样的命令行解决方案:将MySQL查询结果保存为文本或CVS文件
当前回答
你可能也会发现这很有用(非windows):
mysql> pager less -SFX
mysql> SELECT * FROM sometable;
这将通过less命令行工具(带有这些参数)管道输出,该工具将为您提供一个可以用光标键水平和垂直滚动的表格输出。
点击q键离开这个视图,这将退出less工具。
其他回答
用\G代替;终止查询。例如:
SELECT * FROM sometable\G
这个查询垂直显示行,像这样:
*************************** 1. row ***************************
Host: localhost
Db: mydatabase1
User: myuser1
Select_priv: Y
Insert_priv: Y
Update_priv: Y
...
*************************** 2. row ***************************
Host: localhost
Db: mydatabase2
User: myuser2
Select_priv: Y
Insert_priv: Y
Update_priv: Y
...
使用Windows命令提示符,您可以根据需要增加窗口的缓冲区大小来查看列的数量。这取决于表中列的数目。
尝试启用垂直模式,使用\G来执行查询,而不是;:
mysql> SELECT * FROM sometable \G
结果将以垂直模式列出,因此每个列的值将打印在单独的行上。输出将更窄,但显然更长。
你可以使用tee将你的查询结果写入一个文件:
tee somepath\filename.txt
我相信putty具有您可以为窗口指定的最大列数。
对于Windows,我个人使用Windows PowerShell,并将屏幕缓冲宽度设置得相当高。列宽度保持固定,您可以使用水平滚动条查看数据。我也有过和你现在一样的问题。
编辑:对于远程主机,你必须SSH进入,你会使用一些像plink + Windows PowerShell