mysql的命令行没有正确显示结果。我的意思是一些表的列位于第一行的第二行。输出也分为两行。如何调整这些设置以便正确显示结果。
答案 0 :(得分:60)
您可以在SQL查询结束时使用\G
命令(而不是;
)...
示例:
SELECT * FROM USER \G
它将以行格式而不是列格式显示您的表格。
答案 1 :(得分:34)
大多数情况下,当它获取的行太长时会发生这种情况。尝试玩你的终端有滚动条,你甚至可以减少字体。
mysql选项是
mysql> pager less -n -i -S
答案 2 :(得分:5)
设置滚动会自动将其添加到[client]部分中的my.cnf文件中,如下所示:
[client]
pager = less -n -i -S
答案 3 :(得分:1)
在Microsoft Windows mysql命令提示符中,右键单击提示边框并选择“属性”,现在选择“布局”选项卡,然后将“窗口大小”宽度或屏幕缓冲区宽度更改为更合适的视图。这应该解决问题。
答案 4 :(得分:0)
我正在寻找并最终找到的另一个选项是MySQL字符串函数LEFT()
。
LEFT(
str
,
len
)
从字符串 str 或 NULL 返回最左边的 len 个字符如果任何参数为 NULL 。
例如...
mysql> SELECT
-> `bib`,
-> `name_id` AS `Print`,
-> `code`,
-> `name_en` AS `EN`,
-> `name_fr` AS `FR`,
-> `name_de` AS `DE`,
-> `Id`
-> FROM `iso639_Language`
-> WHERE `Id` LIKE 'in%'
-> ORDER BY `bib`;
+-----+------------------------------------------------------------+------+------------------------------------------------------------+------------------------------------------------+------------------+-----+
| bib | Print | code | EN | FR | DE | Id |
+-----+------------------------------------------------------------+------+------------------------------------------------------------+------------------------------------------------+------------------+-----+
| ina | Interlingua (International Auxiliary Language Association) | ia | Interlingua (International Auxiliary Language Association) | interlingua (langue auxiliaire internationale) | Interlingua | ina |
| ind | Indonesian | id | Indonesian | indonésien | Bahasa Indonesia | ind |
| inh | Ingush | NULL | Ingush | ingouche | Inguschisch | inh |
+-----+------------------------------------------------------------+------+------------------------------------------------------------+------------------------------------------------+------------------+-----+
3 rows in set (0.01 sec)
...变成...
mysql> SELECT
-> `bib`,
-> LEFT(`name_id`,15) AS `Print`,
-> `code`,
-> LEFT(`name_en`,10) AS `EN`,
-> LEFT(`name_fr`,10) AS `FR`,
-> LEFT(`name_de`,10) AS `DE`,
-> `Id`
-> FROM `iso639_Language`
-> WHERE `Id` LIKE 'in%'
-> ORDER BY `bib`;
+-----+-----------------+------+------------+-------------+------------+-----+
| bib | Print | code | EN | FR | DE | Id |
+-----+-----------------+------+------------+-------------+------------+-----+
| ina | Interlingua (In | ia | Interlingu | interlingu | Interlingu | ina |
| ind | Indonesian | id | Indonesian | indonésien | Bahasa Ind | ind |
| inh | Ingush | NULL | Ingush | ingouche | Inguschisc | inh |
+-----+-----------------+------+------------+-------------+------------+-----+
3 rows in set (0.00 sec)
我喜欢\G
和pager less -Sin
选项,并使用它们。但是,通常,我需要以常规方式获得结果。使用分页器选项时,由于输出是由选定程序在MySQL外部显示的,因此不再可视地引用以前的结果,当关闭该程序时,不再显示该结果。使用\G
选项,我可以轻松地比较每个记录的整体数据,但是比较记录(例如查看列以查找模式或差异)不是那么容易。
我以前要做的是删除一些列,直到结果适合窗口,然后在删除其他列的情况下重新运行查询,并在我的脑海中形成了表格的“视图”。 (不是保存表的好地方。)但是,在终端中使用MySQL时,我几乎不需要查看整列,并且可以通过编辑最后一条插入{{ 1}},在令人反感的专栏上,我又回到了自己要做的事情上,几乎没有分心或浪费时间。