MySQL终端显示格式化

原创 2017年09月19日 11:53:41

默认的mysql cli客户端非常方面,但是有时候表字段太多就会显示交错行,看起来很费劲。

测试环境

  • macos 10
  • mysql 5.6 +
  • mysql 自带客户端 mysql 命令

来看一个例子

mysql> select *from radacct limit 2;
+-----------+-----------------------------------+----------------------------------+-------------+-----------+-------+--------------+-----------+-----------------+---------------+----------------+--------------+--------------+-----------------+---------------+-------------------+------------------+-----------------+------------------+-------------------------------+-------------------+--------------------+-------------+----------------+-----------------+
| radacctid | acctsessionid                    | acctuniqueid                    | username    | groupname | realm | nasipaddress | nasportid | nasporttype    | acctstarttime | acctupdatetime | acctstoptime | acctinterval | acctsessiontime | acctauthentic | connectinfo_start | connectinfo_stop | acctinputoctets | acctoutputoctets | calledstationid              | callingstationid  | acctterminatecause | servicetype | framedprotocol | framedipaddress |
+-----------+-----------------------------------+----------------------------------+-------------+-----------+-------+--------------+-----------+-----------------+---------------+----------------+--------------+--------------+-----------------+---------------+-------------------+------------------+-----------------+------------------+-------------------------------+-------------------+--------------------+-------------+----------------+-----------------+
|      665 | 0001.0902005073300000e74b7c204341 | 0f01812fefcea2e1abccc5314a775243 | 132****2090 |          |      | 221.7.11.xxx | 33575645  | Wireless-802.11 |    1428041359 |    1428042057 |  1428042057 |        NULL |            698 | RADIUS        |                  | 1000000000      |          640184 |          9515780 | 00-00-00-00-00-00:ChinaUnicom | 00:16:6d:ce:13:de | Lost-Carrier      | Framed-User | PPP            | 10.12.9.35      |
|      666 | 0001.09020050733000008fbfa7040635 | ca7f3485db61b207454c13b796df8c57 | 132****3834 |          |      | 221.7.11.xxx | 33575645  | Wireless-802.11 |    1428041341 |    1428043501 |  1428043656 |            0 |            2315 | RADIUS        |                  | 1000000000      |        4456853 |        138112319 | 00-00-00-00-00-00:ChinaUnicom | 90:27:e4:55:65:34 | NAS-Request        | Framed-User | PPP            | 10.12.9.166    |
+-----------+-----------------------------------+----------------------------------+-------------+-----------+-------+--------------+-----------+-----------------+---------------+----------------+--------------+--------------+-----------------+---------------+-------------------+------------------+-----------------+------------------+-------------------------------+-------------------+--------------------+-------------+----------------+-----------------+

在终端看是折行显示的,看起来非常费劲

方法一

mysql> pager less -SFX;
PAGER set to 'less -SFX'
mysql> select *from radacct limit 2;
+-----------+-----------------------------------+----------------------------------+-------------+-----------+-------+--------------+-----------+-----------------+---------------+--------
| radacctid | acctsessionid                    | acctuniqueid                    | username    | groupname | realm | nasipaddress | nasportid | nasporttype    | acctstarttime | acctupd
+-----------+-----------------------------------+----------------------------------+-------------+-----------+-------+--------------+-----------+-----------------+---------------+--------
|      665 | 0001.0902005073300000e74b7c204341 | 0f01812fefcea2e1abccc5314a775243 | 132***2090 |          |      | 221.7.16.202 | 33575645  | Wireless-802.11 |    1428041359 |    142
|      666 | 0001.09020050733000008fbfa7040635 | ca7f3485db61b207454c13b796df8c57 | 132***3834 |          |      | 221.7.16.202 | 33575645  | Wireless-802.11 |    1428041341 |    142
+-----------+-----------------------------------+----------------------------------+-------------+-----------+-------+--------------+-----------+-----------------+---------------+--------
(END)

其实在终端显示的时候是2行的,使用键盘的左右方向键可以控制查看右边的隐藏列,esc可以退出查看。参考这个回答 https://stackoverflow.com/questions/924729/mysql-select-many-fields-how-best-to-display-in-terminal

方法二

使用 \G , 比较推荐这个用法,把行转化成列显示

mysql> select *from radacct limit 2 \G
*************************** 1. row ***************************
        radacctid: 665
    acctsessionid: 0001.0902005073300000e74b7c204341
      acctuniqueid: 0f01812fefcea2e1abccc5314a775243
          username: 132****2090
        groupname:
            realm:
      nasipaddress: 221.7.16.202
        nasportid: 33575645
      nasporttype: Wireless-802.11
    acctstarttime: 1428041359
    acctupdatetime: 1428042057
      acctstoptime: 1428042057
      acctinterval: NULL
  acctsessiontime: 698
    acctauthentic: RADIUS
connectinfo_start:
  connectinfo_stop: 1000000000
  acctinputoctets: 640184
  acctoutputoctets: 9515780
  calledstationid: 00-00-00-00-00-00:ChinaUnicom
  callingstationid: 00:16:6d:ce:13:de
acctterminatecause: Lost-Carrier
      servicetype: Framed-User
    framedprotocol: PPP
  framedipaddress: 10.12.9.35
*************************** 2. row ***************************
        radacctid: 666
    acctsessionid: 0001.09020050733000008fbfa7040635
      acctuniqueid: ca7f3485db61b207454c13b796df8c57
          username: 132****3834
        groupname:
            realm:
      nasipaddress: 221.7.16.202
        nasportid: 33575645
      nasporttype: Wireless-802.11
    acctstarttime: 1428041341
    acctupdatetime: 1428043501
      acctstoptime: 1428043656
      acctinterval: 0
  acctsessiontime: 2315
    acctauthentic: RADIUS
connectinfo_start:
  connectinfo_stop: 1000000000
  acctinputoctets: 4456853
  acctoutputoctets: 138112319
  calledstationid: 00-00-00-00-00-00:ChinaUnicom
  callingstationid: 90:27:e4:55:65:34
acctterminatecause: NAS-Request
      servicetype: Framed-User
    framedprotocol: PPP
  framedipaddress: 10.12.9.166
2 rows in set (0.00 sec)

查询语句使用 \G 结尾,不需要 ;了。推荐经常用这种写法,很实用。

版权声明:本文为orangleliu (http://blog.csdn.net/orangleliu/)原创文章,自由传播,文章转载请声明, 多谢。

mysql命令行的一些小技巧【实用:多屏显示,格式化输出等】

1.以html格式输出结果 使用mysql客户端的参数–html或者-T,则所有SQL的查询结果会自动生成为html的table代码 $ mysql -u root --html Welcome...
  • devin223
  • devin223
  • 2015年06月11日 11:15
  • 3472

MySQL命令行格式化输出

MySQL的客户端命令行工具,有很多方便使用者的特性,某些方面甚至可以说比Oracle的sqlplus更加人性化。当然从整体来说,还是sqlplus更加方便些,这么说或许是我对sqlplus更加熟悉吧...
  • orichisonic
  • orichisonic
  • 2015年08月05日 17:55
  • 3426

CodeMirror实现MySql关键字的变色和自动提示

最近开发需要,接触到了CodeMirror,觉得的确是个不错的东东。 这里把最常用的两个功能分享给大家。一个是关键字变色一个是自动提示。 先看下最终的效果图。外观还是不错的。可以自己选择主...
  • QQ1142003960
  • QQ1142003960
  • 2015年05月11日 22:34
  • 4721

终端使用C语言以表格形式整齐的打印包含中文字符的字符串信息,类似于mysql数据库的查询显示功能

  • 2017年10月26日 09:54
  • 290KB
  • 下载

mysql终端工具navicat

  • 2015年05月21日 11:01
  • 11.67MB
  • 下载

Mac电脑安装及终端命令使用mysql

原文地址MySQL下载 MySQL菜鸟教程 MySQL-workbench可视化操作MySQL数据库(Database)是按照数据结构来组织、存储和管理数据的仓库, 每个数据库都有一个或多个不同...
  • potato512
  • potato512
  • 2017年11月17日 18:05
  • 292

MySQL笔记1 - 终端与服务器的链接建立,服务器的开启与关闭,基本数句操作(增删改查)

2017/10/30 - 数据库编程 - day1 sql(structured query language 结构化的查询语言); 数据库中的语句和表属性不区分大小写,只有表的名字区分大小写; ...
  • sinat_27864123
  • sinat_27864123
  • 2017年10月30日 19:24
  • 259

终端命令语句操作MySQL数据库

MySQL---数据库从入门走向大神系列 从最开始的创建数据库,创建表,创建列开始写起,再到常用的EXISTS函数,SELECT 复杂查询,模糊查询LIKE,创建视图 等深入学习。 为...
  • liuzhihui666
  • liuzhihui666
  • 2017年03月17日 11:57
  • 140

利用OS x系统终端操作MySQL

打开:/usr/local/mysql/bin/mysql -u root -p 键入密码:***666概览 1 基于数据库的操作 2 基于表的操作 2.1 对字段(列)的操作 ...
  • lesleychu
  • lesleychu
  • 2017年12月29日 02:35
  • 25

用MySQL创建数据库和数据库表(linux终端操作)

1、使用SHOW语句找出在服务器上当前存在什么数据库: mysql> SHOW DATABASES; +----------+ | Database | +------...
  • Jingjing10523
  • Jingjing10523
  • 2016年05月24日 16:13
  • 1759
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MySQL终端显示格式化
举报原因:
原因补充:

(最多只允许输入30个字)