Как я могу подавить вывод заголовка столбца для одного оператора 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"вместо";"выводит один атрибут в строке, а не одну строку в строке.

Другие вопросы по тегам