MySQL Linux命令行工具和正确格式化的结果
有谁知道一个好的工具可以从shell中查询数据库并获得可理解的结果吗 在SSH的命令行上,我想使用MySQL Linux命令行工具和正确格式化的结果,mysql,select,command-line,Mysql,Select,Command Line,有谁知道一个好的工具可以从shell中查询数据库并获得可理解的结果吗 在SSH的命令行上,我想使用mysql查询数据库,但是结果几乎不可读,因为终端屏幕没有格式 如果我运行以下命令,很难理解结果 use mydb; select * from db3_settings; 我知道我可以使用phpMyAdmin或MySQLCC,但我正在寻找命令行解决方案。有很多方法可以让结果更具可读性 使用“限制”仅查看几行: SELECT * FROM table LIMIT 10; SELECT a,b,c
mysql
查询数据库,但是结果几乎不可读,因为终端屏幕没有格式
如果我运行以下命令,很难理解结果
use mydb;
select * from db3_settings;
我知道我可以使用phpMyAdmin或MySQLCC,但我正在寻找命令行解决方案。有很多方法可以让结果更具可读性 使用“限制”仅查看几行:
SELECT * FROM table LIMIT 10;
SELECT a,b,c FROM table;
仅返回选择列:
SELECT * FROM table LIMIT 10;
SELECT a,b,c FROM table;
使用\G
终止查询,将当前语句发送到要执行的服务器,并使用垂直格式显示结果:
SELECT * FROM table \G
您可以使用
\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)
在命令行中,您可以在查询结束时使用
\G
,将返回记录的结果显示为单独的格式化记录(与长表相反),如下所示:
select * from <tablename> \G;
select*from\G;
对于非Windows系统,您可以使用less
使输出格式化或更可读
mysql > pager less -SFX;
mysql > select * from databasename.table;
它通过管道将sql输出传输到less,提供一个表格输出,可以使用光标键水平和垂直滚动。按“q”退出
如果不需要,请使用重置
mysql> nopager
包含
\G
的含义会很有用,而且我认为\G
是一个终止符,因此您不需要分号来终止此操作,否则会出现额外的查询。此答案已被标记为低质量。如果它回答了这个问题,考虑添加一点文本来解释它是如何工作的。