我在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
有一个相关问题但是,该问题涉及特殊字符的错误输出。我的问题涉及正在输出的多余破折号
答案 0 :(得分:0)
计划A:向上滚动。有趣的东西在那里。
方案B:使用;
代替\G
。
出什么问题了?您将看到结果集周围绘制的“框”。但是,某些列的宽度非常宽,甚至可以包裹很多次。
更具体地说,请不要使用desc tablename;
,而要使用SHOW CREATE TABLE tablename\G
,它将更具描述性。
CREATE TABLE
的文本为一列,但嵌入了行终止符(如果使用了多行)。 mysql
认为表定义是一个非常宽的列。但是“终端”可以识别行终止符并很好地显示它。