Get the SQL query result without the table format

MysqlSqlShell

Mysql Problem Overview


Like the --disable-column-names option, do we have an option to get the SQL query without the table format? For example:

mysql -u username -p password  --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?

I want this:

A
B
C
D

Mysql Solutions


Solution 1 - Mysql

Add the -B flag 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.

Note that -B/--batch also enables the --silent switch.

Solution 2 - Mysql

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

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionJohnView Question on Stackoverflow
Solution 1 - MysqlHarsh GuptaView Answer on Stackoverflow
Solution 2 - MysqlRiotView Answer on Stackoverflow