我正在使用PuTTY运行:
mysql> SELECT * FROM sometable;
Sometable有许多字段,这导致许多列试图显示在终端中。字段换行到下一行,因此很难将列标题与字段值对齐。
在终端中查看这些数据有什么解决方案?
我没有也不想访问phpMyAdmin -或任何其他GUI界面。我正在寻找这样的命令行解决方案:将MySQL查询结果保存为文本或CVS文件
我正在使用PuTTY运行:
mysql> SELECT * FROM sometable;
Sometable有许多字段,这导致许多列试图显示在终端中。字段换行到下一行,因此很难将列标题与字段值对齐。
在终端中查看这些数据有什么解决方案?
我没有也不想访问phpMyAdmin -或任何其他GUI界面。我正在寻找这样的命令行解决方案:将MySQL查询结果保存为文本或CVS文件
当前回答
你可以使用tee将你的查询结果写入一个文件:
tee somepath\filename.txt
其他回答
用\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
结果将以垂直模式列出,因此每个列的值将打印在单独的行上。输出将更窄,但显然更长。
使用mysql的ego命令
mysql的帮助命令:
自我(\G)发送命令到mysql服务器,结果垂直显示。
所以通过添加\G到你的选择,你可以得到一个非常干净的垂直输出:
mysql> SELECT * FROM sometable \G
使用寻呼机
你可以用-S选项让MySQL使用更少的分页器,它可以剪切宽的行,并给你一个可以用方向键滚动的输出:
mysql> pager less -S
因此,下次你运行一个输出宽的命令时,MySQL会让你用更少的分页器浏览输出:
mysql> SELECT * FROM sometable;
如果你用完了寻呼机,想回到标准输出的常规输出,使用这个:
mysql> nopager
您可以使用——table或-t选项,这将输出一组漂亮的结果
echo 'desc table_name' | mysql -uroot database -t
或者其他一些方法来传递查询到mysql,比如:
mysql -uroot table_name --table < /tmp/somequery.sql
输出:
+--------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| username | varchar(30) | NO | UNI | NULL | |
| first_name | varchar(30) | NO | | NULL | |
| last_name | varchar(30) | NO | | NULL | |
| email | varchar(75) | NO | | NULL | |
| password | varchar(128) | NO | | NULL | |
| is_staff | tinyint(1) | NO | | NULL | |
| is_active | tinyint(1) | NO | | NULL | |
| is_superuser | tinyint(1) | NO | | NULL | |
| last_login | datetime | NO | | NULL | |
| date_joined | datetime | NO | | NULL | |
+--------------+--------------+------+-----+---------+----------------+