我在Solus OS上使用mariadb服务器。mariadb命令的输出打印了许多额外的符号。
同样的命令可以在运行mysql的Windows操作系统上提供完美的输出。
desc class,其中'class‘是我的数据库输出中的一个表:(见下图)

此输出前面有许多行相同的符号。
show databases的输出
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Database |
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| information_schema |
| mysql |
| performance_schema |
| snehit |
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
4 rows in set (0.000 sec)您可以看到输出了很多破折号
我可以使用\G后缀垂直显示输出。当我运行desc class \G时,输出是:
*************************** 1. row ***************************
Field: name
Type: varchar(30)
Null: NO
Key:
Default: NULL
Extra:
*************************** 2. row ***************************
Field: class_id
Type: int(10) unsigned
Null: NO
Key: PRI
Default: NULL
Extra: auto_increment
2 rows in set (0.001 sec)但是,我希望以水平表格样式显示输出,正如我所提到的,输出了太多的破折号,这使得输出不可读。
那么,我如何解决这个问题,以删除输出中多余的破折号,使其可读?
编辑:在MySQL command line formatting with UTF8上有一个相关问题
然而,这个问题涉及特殊字符的错误输出。我的问题涉及到输出的破折号数量过多。
发布于 2019-08-10 03:35:05
计划A:向上滚动。有趣的东西就在那里。
B计划:使用\G而不是;。
有什么问题吗?您看到的是围绕结果集绘制的“框”。然而,有些列是如此之宽,以至于它包装了,甚至多次包装。
更具体地说,不要使用desc tablename;,使用SHOW CREATE TABLE tablename\G --它会更具描述性。
CREATE TABLE的文本是单列,但是嵌入了行终止符(如果使用了多行)。mysql将表定义视为一个非常宽的列。但是“终端”识别了行终止符,并很好地显示了它。
https://stackoverflow.com/questions/57432640
复制相似问题