Как я могу подавить вывод заголовка столбца для одного оператора SQL?

115

Я выполняю несколько операторов SQL в пакетном режиме (используя mysqlдвоичный код командной строки). Я хочу, чтобы один из моих нескольких операторов SELECT не печатал заголовки столбцов, а только выбранные записи. Это возможно?

einpoklum
источник

Ответы:

249

Вызов mysql с опцией -N(псевдоним для -Nis --skip-column-names):

mysql -N ...
use testdb;
select * from names;

+------+-------+
|    1 | pete  |
|    2 | john  |
|    3 | mike  |
+------+-------+
3 rows in set (0.00 sec)

Благодарим ErichBSchulz за указание на псевдоним -N.

Чтобы удалить сетку (вертикальные и горизонтальные линии) вокруг результатов, используйте -s( --silent). Столбцы разделены TABсимволом.

mysql -s ...
use testdb;
select * from names;

id  name
1   pete
2   john
3   mike

Чтобы вывести данные без заголовков и сетки, просто используйте -sи -N.

mysql -sN ...
подозреваемый
источник
4
ярлык-N
ErichBSchulz
4
-sN сработал для меня, чтобы назначить вывод переменной в скрипте: TABLES=$(mysql -sN -u $DB_USER -p$DB_PASS...
Майкл Дж.
5
Это относится ко всему сеансу, а не только к одному оператору SQL. Oracle SQLPlus имеет set feedback onи set feedback offможет использоваться в любом месте сеанса. Есть ли у MySQL аналог? Похоже, это то, что искал OP.
codeforester
просто краткий комментарий, упростите, используя select * from testdb.names; без явного «использования».
fcm
15

Вы можете подделать это так:

-- with column headings 
select column1, column2 from some_table;

-- without column headings
select column1 as '', column2 as '' from some_table;
Том Варфилд
источник
Error: Type mismatch: expected type string, but gotошибка с пустым псевдонимом
QkiZ
Похоже, эта ошибка исходит от MySQL Workbench, а не от MySQL. В любом случае вы также можете использовать одно пустое пространство вместо пустой строки, и это, похоже, работает в MySQL Workbench:select column1 as ' ', column2 as ' ' from some_table;
Том Варфилд,