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


113

J'exécute des instructions SQL par lots (en utilisant le mysqlbinaire de ligne de commande). Je veux qu'une de mes nombreuses instructions SELECT n'imprime pas les en-têtes de colonne, juste les enregistrements sélectionnés. Est-ce possible?

Réponses:


247

Appelez mysql avec l' option -N(l'alias pour -Nest --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 pour avoir signalé l'alias -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 TABcaractère.

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

id  name
1   pete
2   john
3   mike

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

mysql -sN ...

3
le raccourci dans-N
ErichBSchulz

4
-sN a bien fonctionné pour moi d'assigner la sortie à une variable dans un script: TABLES=$(mysql -sN -u $DB_USER -p$DB_PASS...
Michael J

5
Cela s'applique à l'ensemble de la session, pas seulement à une seule instruction SQL. Oracle SQLPlus a set feedback onet set feedback offqui peut être utilisé n'importe où dans une session. MySQL a-t-il un équivalent? On dirait que c'est ce que recherchait OP.
codeforester

juste un bref commentaire, simplifiez en utilisant select * from testdb.names; sans «utilisation» explicite.
fcm

15

Vous pouvez le simuler comme ceci:

-- 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 goterreur avec alias vide
QkiZ

On dirait que cette erreur vient de MySQL Workbench, pas de MySQL. Quoi qu'il en soit, vous pouvez également utiliser un seul espace vide au lieu d'une chaîne vide, et cela semble fonctionner dans MySQL Workbench:select column1 as ' ', column2 as ' ' from some_table;
Tom Warfield
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.