mysql - phpmyadmin - 如何使(显示的)列宽比列标题窄?

标签 mysql phpmyadmin

使用 phpmyadmin 管理 MySQL 数据库。

在设计数据库时,我们创建了描述性的列名称。即使列内容非常窄,这些内容也往往相当长。

有没有办法告诉 phpmyadmin 显示列,其宽度基于列内容,忽略列标题?

我想在显示器上显示更多有用的数据,而不必横向滚动太多。

对于给定的表,我知道如何编写在结果中使用较短名称的自定义查询,但这很乏味:SELECT long_name ln, another_column ac, ..

最佳答案是 phpmyadmin 中的某个选项。

我会接受一个mysql查询的答案,该查询使用表的元数据来简单地缩短所有列名称(在结果中,不更改表),如果可以做到这一点而无需手动提及所有列名称。如果某些列最终出现重复的显示名称也没关系 - 如果 phpmyadmin 仍然可以显示结果。

Not Acceptable (出于我的目的)是完全隐藏标题的答案,或者用不是从列名称派生的名称替换它们的答案 - 例如任意 1、2、3 或 a、b、c - 在查看输出时,哪一列是哪一列是不明显的。

最佳答案

部分解决方案足以满足我的目的。

第 1 步:

-- USE mydatabase;
SET @columnList = (SELECT GROUP_CONCAT(COLUMN_NAME) FROM information_schema.COLUMNS WHERE TABLE_NAME='mytable');
SET @query = CONCAT('SELECT ', @columnList, ' FROM mytable');
SELECT @query;

第2步:将上面的结果手动编辑到phpmyadmin的SQL查询框中。
OR 到下面的“...”中以构建准备好的语句:

SET @query = '...';
PREPARE stmt FROM CONCAT(@query, ' LIMIT ?');
SET @limit = '50';
EXECUTE stmt USING @limit;
DEALLOCATE PREPARE stmt;

请注意,如果没有限制,所有行都会由 EXECUTE 发送到 phpmyadmin 进行显示,这可能会超时和/或超出某些限制。因此,对于 SELECT 查询,请包含一个限制。

<小时/>

(一个完整的解决方案将为输入到GROUP_CONCAT中的长列名创建短别名。我没有花时间弄清楚这一步;我只是通过别名手动截断了一些;我的列不在乎我删除或移到最后。)

关于mysql - phpmyadmin - 如何使(显示的)列宽比列标题窄?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54817982/

相关文章:

mysql - 本地Mysql成功登录,但每次运行查询都失去连接

python - 使用 python 创建 Mysql 数据库 - 不断收到 1064 错误(...在 '%s' 附近使用正确的语法)

php - 在 WordPress 中发布分页

c# - 如何远程调用MySQL中的用户授予所有权限?

mysql - 使用 PHP Admin 在 AWS 上连接并创建 MySql 数据库

mysql - 仅当 URL 不包含给定部分时才替换部分 URL

mysql - 为规范化 3NF 分解表格

mysql shell 无法指定数据库,显示用法

mysql - SQL查询似乎不会影响相同的行数,添加一个count语句

ssl - PhpMyAdmin 滑动 &lt;style&gt;html{display :none;}&lt;/style&gt; into <head> tag after adding https and cloudflare?