简体   繁体   中英

Get the sql query result without the table format

Like --disable-column-names option, do we have an option to get the sql query without the table format?

example:

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

results below:

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

IS it possible to get the query result using some sql program option modifiers as below, [ without the table format ]

A
B
C
D

Add -B option to mysql .

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

-B , --batch : Print results in nontabular output format.

--execute : Execute the statement and quit.

HTH

Edit: Thanks to @ joescii, -B , which is short for --batch , also enables the --silent switch.

Although the other answers work incidentally, the correct switch is actually -s which is short for --silent .

You may want to additionally specify -r for --raw output, which disables character escaping as well, otherwise newline, tab, null char and backslash will be represented as \\n, \\t, \\0 and \\ respectively.

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

It's possible to pipe the output to a file, without the the border frame.

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM