MySQL 命令行和寻呼机

问题描述 投票:0回答:6

我在这里搜索找不到任何相关信息。

我在工作时在命令行上使用 mysql,并且我使用相当大的表,所以我设置了 mysql 寻呼机,如果我运行查询,返回 1000 个结果,则允许更易读的结果。我使用下面的命令来设置寻呼机。

\P less -Sin

这符合我的需要,但让我想知道 mysql 在命令行上是否使用更多的寻呼机样式。

mysql linux unix command-line pager
6个回答
16
投票

MySQL 客户端只是将其输出传递给您使用

\P
(对于“Pager”)指定的任何命令。

-Sin
是程序
less
的命令行开关。来自 man less:

-i 导致搜索忽略大小写
-n 抑制行号
-S 导致比屏幕宽度长的行被截断而不是折叠。

有关 MySQL 客户端的更多选项,请参阅参考资料


8
投票
mysql> pager less
PAGER set to 'less'

5
投票

您可能想尝试pspg专为处理表格而设计的 Unix 寻呼机。专为 PostgreSQL 设计,但也支持 MySQL.

主要目标

  • 可以冻结前几行,前几列

  • 可以使用花哨的颜色——比如 mcview 或 FoxPro

在行动中:


1
投票

这篇文章很旧,但仍然很有帮助。

您可以将寻呼机设置为任何您想要的,包括一个脚本,该脚本在将其反馈给您之前解析所有输出。那里的示例包括使用附加工具使

EXPLAIN
输出更具可读性。

另请注意,要关闭此功能并返回正常标准输出,命令为

nopager


0
投票

如果你不喜欢

less
你可以使用
more
:)

\P more

0
投票

使用寻呼机

mysql -u root --database=test
MariaDB[test]> pager less -SFX
DESCRIBE Alerts;

输出

    +----------------------+--------------+------+-----+---------+----------------+
    | Field                | Type         | Null | Key | Default | Extra          |
    +----------------------+--------------+------+-----+---------+----------------+
    | id_alert             | bigint(20)   | NO   | PRI | NULL    | auto_increment |
    | id_importance_choice | varchar(255) | NO   |     | NULL    |                |
    | score                | varchar(255) | NO   |     | NULL    |                |
    | level                | varchar(255) | NO   |     | NULL    |                |
    | users                | longtext     | NO   |     | NULL    |                |
    | createdAt            | timestamp    | YES  |     | NULL    |                |
    | updatedAt            | timestamp    | YES  |     | NULL    |                |
    | deletedAt            | timestamp    | YES  |     | NULL    |                |
    +----------------------+--------------+------+-----+---------+----------------+

可恶的寻呼机

MariaDB[test]> pager more
© www.soinside.com 2019 - 2024. All rights reserved.