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?
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 ...
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;