命令行客户端中的MySQL命令输出太宽
我正在Ubuntu的终端仿真器命令行客户端中的MySQL命令输出太宽,mysql,sql,ubuntu,terminal-emulator,Mysql,Sql,Ubuntu,Terminal Emulator,我正在Ubuntu的终端仿真器lxterminal中使用mysql命令行客户端。当我运行以下命令时: mysql> select * from routines where routine_name = "simpleproc"; 输出混乱不堪: 但是如果我复制并粘贴到这里,输出会显示一个漂亮的表: mysql> select * from routines where routine_name = "simpleproc"; +---------------+--------
lxterminal
中使用mysql
命令行客户端。当我运行以下命令时:
mysql> select * from routines where routine_name = "simpleproc";
输出混乱不堪:
但是如果我复制并粘贴到这里,输出会显示一个漂亮的表:
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)
我想知道是否有可能在终端仿真器中将输出视为这样一个漂亮的表?如果您在Ubuntu上运行,您可以使用bash shell,它看起来很漂亮,不会像这样乱七八糟。使用mysql的
ego
命令
从mysql的help
命令:
ego(\G)向mysql服务器发送命令,垂直显示结果
因此,通过将\G
添加到选择
,您可以获得非常清晰的垂直输出:
mysql> select * from routines where routine_name = "simpleproc" \G
使用寻呼机
您可以告诉MySQL使用less
寻呼机及其-S
选项,该选项可以切掉宽行,并提供一个可以用箭头键滚动的输出:
mysql> pager less -S
因此,下次运行具有宽输出的命令时,MySQL将允许您使用less
pager浏览输出:
mysql> select * from routines where routine_name = "simpleproc";
如果您已使用完寻呼机,并希望返回到stdout
上的常规输出,请使用以下命令:
mysql> nopager
您也可以尝试调整终端的字体大小,但如果没有,垂直显示输出应该是清晰的。 使用/G选项运行查询,即
mysql> select * from routines where routine_name = "simpleproc" /G
我已经在
bash
的lxterminal
中运行了mysql
。谢谢\G
将解决查询结果中只有一条记录时的问题。如果查询结果中有多条记录,是否仍使用\G
?当然<代码>\G使用标题分隔每条记录。在第一行和第二行之间,您将有一行这样的代码来警告您,这是第二行,如下所示:******************************************2。行***************************
。可能的解决方法。它是反斜杠而不是斜杠