web-dev-qa-db-fra.com

Obtenez le résultat de la requête SQL sans le format de la table

Comme --disable-column-names option, avons-nous une option pour obtenir la requête sql sans le format de la 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 certains modificateurs d'options de programme sql comme ci-dessous, [sans le format de table]

A
B
C
D
57
John

Ajouter -B option pour mysql.

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

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

- execute: Exécutez l'instruction et quittez.

HTH

Edit: Merci à @ joescii, -B, qui est l'abréviation de --batch, active également le --silent commutateur.

79
Harsh Gupta

Bien que les autres réponses fonctionnent fortuitement, le bon commutateur est en fait -s qui est l'abréviation de --silent.

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

   ·   --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

22
Riot

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

mysql -u nom d'utilisateur -ppassword --disable-column-names --execute "select name from test"> testFile

1
Nicole Stutz