MySQL Linux命令行工具和正确格式化的结果

时间:2013-10-08 10:47:14

标签: mysql select command-line

有没有人知道从shell中查询数据库并获得可理解的结果的好工具?

在命令行上,从SSH,我想使用mysql查询数据库,但结果几乎不可读,因为终端屏幕没有格式化。

如果我执行以下操作,则很难理解结果。

use mydb;
select * from db3_settings;

我知道我可以使用phpMyAdmin或MySQLCC,但我正在寻找命令行解决方案。

5 个答案:

答案 0 :(得分:36)

您可以使用\G获取垂直格式化的输出。

这是标准输出:

mysql> select * from tblSettings;
+-----------+----------------+---------------------+
| settingid | settingname    | settingvalue        |
+-----------+----------------+---------------------+
|         1 | maxttl         | 30                  |
|         2 | traceroutepath | /usr/bin/traceroute |
|         3 | alertemail     | me@host.com         |
+-----------+----------------+---------------------+
3 rows in set (0.00 sec)

这就是\G输出的结果:

mysql> select * from tblSettings \G;
*************************** 1. row ***************************
   settingid: 1
 settingname: maxttl
settingvalue: 30
*************************** 2. row ***************************
   settingid: 2
 settingname: traceroutepath
settingvalue: /usr/bin/traceroute
*************************** 3. row ***************************
   settingid: 3
 settingname: alertemail
settingvalue: me@host.com
3 rows in set (0.00 sec)

答案 1 :(得分:6)

有许多方法可以让结果更具可读性。

使用限制仅查看几行:

SELECT * FROM table LIMIT 10;

仅返回选择列:

SELECT a,b,c FROM table;

使用\G 终止查询,将当前语句发送到要执行的服务器,并使用垂直格式显示结果:

SELECT * FROM table \G

答案 2 :(得分:1)

在命令行中,您可以在查询结束时使用\G将返回记录的结果显示为单独的格式化记录(而不是长表),如下所示:

select * from <tablename> \G;

答案 3 :(得分:1)

对于非Windows系统,您可以使用ngViewAfterInit() { if(FileType == 'AUDIO'){ this.audioplayer.nativeElement.load(); } if(FileType == 'VIDEO'){ this.videoplayer.nativeElement.load(); } } 使输出格式化或更具可读性。

less

它将sql输出管道输出为less表示可以使用光标键水平和垂直滚动的表格输出。按“q&#39;

退出

如果您不想要,请使用

重置
mysql > pager less -SFX;
mysql > select * from databasename.table;

答案 4 :(得分:0)

使用mysql的{​​{1}}命令

来自ego的{​​{1}}命令:

  

ego(\ G)将命令发送到mysql服务器,垂直显示结果。

因此,通过在mysql附加help,您可以获得非常干净的垂直输出:

\G

使用寻呼机

你可以告诉MySQL使用select寻呼机及其mysql> SELECT * FROM db3_settings \G; 选项来切断宽线,并为你提供一个可以用箭头键滚动的输出:

less

因此,下次运行具有宽输出的命令时,MySQL将允许您使用-S寻呼机浏览输出:

mysql> pager less -S

如果您已完成寻呼机并希望返回less上的常规输出,请使用以下命令:

mysql> SELECT * FROM db3_settings;