命令行客户端中的MySQL命令输出太宽

Tim*_*Tim 3 mysql sql ubuntu terminal-emulator

我在Ubuntu的mysql终端仿真器lxterminal中使用命令行客户端。当我运行以下命令时:

mysql> select * from routines where routine_name = "simpleproc";
Run Code Online (Sandbox Code Playgroud)

输出是一团糟:

我目前的输出

但是,如果我将其复制并粘贴到此处,输出将显示一个漂亮的表:

mysql> select * from routines where routine_name = "simpleproc";

+---------------+-----------------+----------------+--------------+--------------+-----------+--------------------------+------------------------+-------------------+---------------+--------------------+--------------------+----------------+----------------+--------------+--------------------------------------------------------+---------------+-------------------+-----------------+------------------+-----------------+----------+---------------+---------------------+---------------------+-------------------------------------------------------------------------------------------------------------------------------------------+-----------------+----------------+----------------------+----------------------+--------------------+
| SPECIFIC_NAME | ROUTINE_CATALOG | ROUTINE_SCHEMA | ROUTINE_NAME | ROUTINE_TYPE | DATA_TYPE | CHARACTER_MAXIMUM_LENGTH | CHARACTER_OCTET_LENGTH | NUMERIC_PRECISION | NUMERIC_SCALE | DATETIME_PRECISION | CHARACTER_SET_NAME | COLLATION_NAME | DTD_IDENTIFIER | ROUTINE_BODY | ROUTINE_DEFINITION                                     | EXTERNAL_NAME | EXTERNAL_LANGUAGE | PARAMETER_STYLE | IS_DETERMINISTIC | SQL_DATA_ACCESS | SQL_PATH | SECURITY_TYPE | CREATED             | LAST_ALTERED        | SQL_MODE                                                                                                                                  | ROUTINE_COMMENT | DEFINER        | CHARACTER_SET_CLIENT | COLLATION_CONNECTION | DATABASE_COLLATION |
+---------------+-----------------+----------------+--------------+--------------+-----------+--------------------------+------------------------+-------------------+---------------+--------------------+--------------------+----------------+----------------+--------------+--------------------------------------------------------+---------------+-------------------+-----------------+------------------+-----------------+----------+---------------+---------------------+---------------------+-------------------------------------------------------------------------------------------------------------------------------------------+-----------------+----------------+----------------------+----------------------+--------------------+
| simpleproc    | def             | test           | simpleproc   | PROCEDURE    |           |                     NULL |                   NULL |              NULL |          NULL |               NULL | NULL               | NULL           | NULL           | SQL          | BEGIN


SELECT COUNT(*) INTO param1 FROM CUSTOMERS1;

END | NULL          | NULL              | SQL             | NO               | CONTAINS SQL    | NULL     | DEFINER       | 2018-01-12 15:18:20 | 2018-01-12 15:18:20 | ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |                 | root@localhost | utf8                 | utf8_general_ci      | latin1_swedish_ci  |
+---------------+-----------------+----------------+--------------+--------------+-----------+--------------------------+------------------------+-------------------+---------------+--------------------+--------------------+----------------+----------------+--------------+--------------------------------------------------------+---------------+-------------------+-----------------+------------------+-----------------+----------+---------------+---------------------+---------------------+-------------------------------------------------------------------------------------------------------------------------------------------+-----------------+----------------+----------------------+----------------------+--------------------+
1 row in set (0.01 sec)
Run Code Online (Sandbox Code Playgroud)

我想知道是否可以在终端仿真器中将输出查看为像这样的漂亮表?

Ron*_*eau 5

使用mysqlego命令

mysqlhelp命令:

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

因此,通过将追加\Gselect,可以得到非常干净的垂直输出:

mysql> select * from routines where routine_name = "simpleproc" \G
Run Code Online (Sandbox Code Playgroud)

使用寻呼机

您可以告诉MySQL使用less带有分页符的-S选项的分页器,该分页器会切掉粗线,并为您提供可以使用箭头键滚动的输出:

mysql> pager less -S
Run Code Online (Sandbox Code Playgroud)

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

mysql> select * from routines where routine_name = "simpleproc";
Run Code Online (Sandbox Code Playgroud)

如果您已经完成了寻呼机的工作,并且想返回到的常规输出stdout,请使用以下命令:

mysql> nopager
Run Code Online (Sandbox Code Playgroud)