Как я могу подавить вывод заголовка столбца для одного оператора SQL?
Я выполняю некоторые операторы SQL в пакетном режиме (используя mysql
двоичный файл командной строки). Я хочу, чтобы один из моих операторов SELECT не печатал заголовки столбцов, а только выбранные записи. Это возможно?
3 ответа
Вызвать MySQL с -N
(псевдоним для -N
является --skip-column-names
) вариант:
mysql -N ...
use testdb;
select * from names;
+------+-------+
| 1 | pete |
| 2 | john |
| 3 | mike |
+------+-------+
3 rows in set (0.00 sec)
Благодарим Эриха Б. Шульца за указание псевдонима -N.
Для удаления сетки (вертикальные и горизонтальные линии) вокруг результатов используйте -s
(--silent
). Столбцы разделены TAB
персонаж.
mysql -s ...
use testdb;
select * from names;
id name
1 pete
2 john
3 mike
Для вывода данных без заголовков и сетки просто используйте оба -s
а также -N
,
mysql -sN ...
Вы можете подделать это так:
-- with column headings
select column1, column2 from some_table;
-- without column headings
select column1 as '', column2 as '' from some_table;
Хорошая причина "... хотеть... операторы SELECT не печатать заголовки столбцов..." - это документирование вывода.
Благодаря @tom_warfield я делаю это:
select "Relevant details from Stock Entry." as ""\G
select
SE.name
, SED.item_code
, SED.s_warehouse
, SED.t_warehouse
, REPLACE(SED.serial_no,'\n',', ') as serial_no
from
`tabStock Entry` SE left join `tabStock Entry Detail` SED
:
:
Мой вывод выглядит следующим образом:
*************************** 1. row ***************************
: Relevant details from Stock Entry.
+--------------------+-------------------------------+--------------------------+----------------------------+---------------------------------------------------------------------------------------------------------------------+
| name | item_code | s_warehouse | t_warehouse | serial_no |
Обратите внимание, что"\G"
вместо";"
выводит один атрибут в строке, а не одну строку в строке.