web-dev-qa-db-fra.com

Comment puis-je supprimer la sortie d'en-tête de colonne pour une seule instruction SQL?

J'exécute certaines instructions SQL par lots (à l'aide du binaire mysql de la ligne de commande). Je souhaite qu'une de mes plusieurs instructions SELECT n'imprime pas les en-têtes de colonne, mais uniquement les enregistrements sélectionnés. Est-ce possible?

96
einpoklum

Invoquez mysql avec l'option -N (l'alias pour -N est --skip-column-names):

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

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

Nous remercions ErichBSchulz d'avoir signalé le pseudonyme -N.

Pour supprimer la grille (les lignes verticales et horizontales) autour des résultats, utilisez -s (--silent). Les colonnes sont séparées par un caractère TAB.

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

id  name
1   pete
2   john
3   mike

Pour sortir les données sans en-têtes ni grille, utilisez simplement -s et -N.

mysql -sN ...
208
suspectus

Vous pouvez faire semblant comme ça:

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

-- without column headings
select column1 as '', column2 as '' from some_table;
15
Tom Warfield