截断SELECT(MySQL客户端)中的列名

截断SELECT(MySQL客户端)中的列名,mysql,Mysql,当我查看新数据库以了解其中的内容时,通常会得到列名称较长但内容较短的表,如: mysql> select * from Seat limit 2; +---------+---------------------+---------------+------------------+--------------+---------------+--------------+-------------+--------------+-------------+---------+-----

当我查看新数据库以了解其中的内容时,通常会得到列名称较长但内容较短的表,如:

mysql> select * from Seat limit 2;
+---------+---------------------+---------------+------------------+--------------+---------------+--------------+-------------+--------------+-------------+---------+---------+----------+------------+---------------+------------------+-----------+-------------+---------------+-----------------+---------------------+-------------------+-----------------+

|座椅(U U U U U U U U U-id)SEQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ|座位检查|日期|座位旧|订单| id |座位\旧的\状态|

+---------+---------------------+---------------+------------------+--------------+---------------+--------------+-------------+--------------+-------------+---------+---------+----------+------------+---------------+------------------+-----------+-------------+---------------+-----------------+---------------------+-------------------+-----------------+

|4897 | 2016-09-01 00:05:54 | 330 | 331 |零|零|零|零|零|零|零|零|零|自由|零|零|零|零| 0000-00-00:00 |零| | |4898 | 2016-09-01 00:05:54 | 330 | 331 |零|零|零|零|零|零|零|零|零|自由|零|零|零|零| 0000-00-00:00 |零||

+---------+---------------------+---------------+------------------+--------------+---------------+--------------+-------------+--------------+-------------+---------+---------+----------+------------+---------------+------------------+-----------+-------------+---------------+-----------------+---------------------+-------------------+-----------------+

由于标题的长度比每行的内容长,因此我看到一个难以标准化的未格式化输出,特别是当您搜索一些小线索时,如未使用的字段等

有没有办法告诉mysql客户端自动截断列名,例如,最多10个字符?使用前10个字符通常足以知道它们所指的列

当然,我可以使用
AS
为其建立列别名,但是如果有太多的列,并且您想要快速浏览,那么每个表都需要花费太长的时间


另一个解决方案是告诉mysql删除每个列的前缀
seat\ucode>(当然,对于每个列,我都需要更改使用的前缀)。

我认为没有任何方法可以自动做到这一点。有些选择是:

1) 使用图形用户界面(如PhpMyAdmin)查看表内容。这些通常允许您调整列宽

2) 用
\G
而不是
结束查询

    mysql> SELECT * FROM seat LIMIT 2\G
这将水平显示列,而不是垂直显示列:

      seat_id: 4897
 seat_created: 2016-09-01 00:05:54
seat_event_id: 330
...
我经常对有很多列的表使用后者,因为读取水平格式可能很困难,特别是当它在终端上环绕时

3) 在不换行的模式下使用
less
寻呼机。然后可以使用箭头键向左和向右滚动

    mysql> pager less -S

我不认为有任何方法可以自动做到这一点。有些选择是:

1) 使用图形用户界面(如PhpMyAdmin)查看表内容。这些通常允许您调整列宽

2) 用
\G
而不是
结束查询

    mysql> SELECT * FROM seat LIMIT 2\G
这将水平显示列,而不是垂直显示列:

      seat_id: 4897
 seat_created: 2016-09-01 00:05:54
seat_event_id: 330
...
我经常对有很多列的表使用后者,因为读取水平格式可能很困难,特别是当它在终端上环绕时

3) 在不换行的模式下使用
less
寻呼机。然后可以使用箭头键向左和向右滚动

    mysql> pager less -S

请参见

通过使用
-N
--跳过列名
选项运行MySQL客户端,您可以完全跳过列名。然后,列的宽度将由最宽的数据决定,而不是由列名决定。但是列名将没有行


您也可以使用列别名来设置自己的列名,但您必须自己手动输入这些列名。

您可以通过使用
-N
--跳过列名
选项运行MySQL客户端来完全跳过列名。然后,列的宽度将由最宽的数据决定,而不是由列名决定。但是列名将没有行


您也可以使用列别名来设置自己的列名,但您必须自己手动输入这些列名。

不,没有办法自动截断或编辑列名,好吗。您可以使用
\G
垂直显示列,而不是水平显示列。@Barmar该选项不能回答我的问题,但确实解决了我的问题。将其作为答案发布,我会将其标记为我的有效答案(举例说明,
\G
选项必须写在句子的末尾,而不是
。您也可以使用像PhpMyAdmin这样的图形表查看器。所有这些都不能算作“编程”,IMHO.不,没有办法让它自动截断或编辑列名,好的。您可以使用
\G
垂直显示列,而不是水平显示