Як я можу придушити вихід заголовка стовпця для одного оператора SQL?


113

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

Відповіді:


247

Викликати 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)

Подяку ErichBSchulz за вказівку псевдоніма -N.

Для видалення сітки (вертикальної та горизонтальної ліній) навколо результатів використовуйте -s( --silent). Стовпці розділені TABсимволом.

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

id  name
1   pete
2   john
3   mike

Для виведення даних без заголовків і без сітки просто використовуйте і -sта, і -N.

mysql -sN ...

3
ярлик в-N
ErichBSchulz

4
-sN добре працював для мене, щоб призначити вихідну змінну в сценарії: TABLES=$(mysql -sN -u $DB_USER -p$DB_PASS...
Michael J

5
Це стосується всього сеансу, а не лише одного оператора SQL. Oracle SQLPlus має set feedback onі set feedback offякий можна використовувати будь-де в сеансі. Чи має MySQL еквівалент? Схоже, саме це шукала ОП.
кодовий ліс

лише короткий коментар, спростіть, використовуючи select * від 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;
Том Уорфілд,
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.