Obtenir le résultat de la requête sql sans le format de tableau

Comme l'option --disable-column-names, avons - nous une option pour obtenir la requête sql sans le format de table?

Exemple:

mysql -u username -ppassword --disable-column-names --execute "select name from test"

Résultats ci-dessous:

-----
| A |
| B |
| C |
| D |
-----

Est-il possible d'obtenir le résultat de la requête en utilisant des modificateurs d'options de programme sql comme ci-dessous, [ sans le format de table]

A
B
C
D
46
demandé sur Eric Leschinski 2013-05-23 14:31:27

3 réponses

Ajoutez l'option -B à mysql.

mysql -B -u username -ppassword \
      --disable-column-names \
      --execute "select name from mydb.test"

-B, --batch : affiche les résultats au format de sortie non tabulaire.

--execute : exécute l'instruction et quitte.

HTH

Edit: grâce à @ joescii, -B, abréviation de --batch, active également le commutateur --silent.

68
répondu Harsh Gupta 2015-06-06 03:19:49

Bien que les autres réponses fonctionnent incidemment, le commutateur correct est en fait {[1] } qui est l'abréviation de --silent.

Vous pouvez également spécifier -r pour la sortie --raw, qui désactive également l'échappement des caractères, sinon la nouvelle ligne, l'onglet, le caractère nul et la barre oblique inverse seront représentés par \N, \t, \ 0 et \ respectivement.

   ·   --silent, -s

       Silent mode. Produce less output. This option can be given multiple
       times to produce less and less output.

       This option results in nontabular output format and escaping of
       special characters. Escaping may be disabled by using raw mode; see
       the description for the --raw option.

   ·   --raw, -r

       For tabular output, the “boxing” around columns enables one column
       value to be distinguished from another. For nontabular output (such
       as is produced in batch mode or when the --batch or --silent option
       is given), special characters are escaped in the output so they can
       be identified easily. Newline, tab, NUL, and backslash are written
       as \n, \t, \0, and \\. The --raw option disables this character
       escaping.

       The following example demonstrates tabular versus nontabular output
       and the use of raw mode to disable escaping:

           % mysql
           mysql> SELECT CHAR(92);
           +----------+
           | CHAR(92) |
           +----------+
           | \        |
           +----------+
           % mysql -s
           mysql> SELECT CHAR(92);
           CHAR(92)
           \\
           % mysql -s -r
           mysql> SELECT CHAR(92);
           CHAR(92)
           \

- Oracle Corporation

MySQL 5.7 06/07/2018

18
répondu Riot 2018-10-02 21:22:12

Il est possible de diriger la sortie vers un fichier, sans le cadre de bordure.

Mysql -u utilisateur -pmotdepasse --disable-column-names --exécuter "select nom from test" > testFile

1
répondu Nicole Stutz 2013-05-24 10:30:01