在mysql shell中显示没有表行的查询结果(非表格输出)

Cha*_*PMP 11 mysql sql

是否可以在mysql shell中显示如下的查询结果?

mysql> select code, created_at from my_records;
    code         created_at
1213307927  2013-04-26 09:52:10
8400000000  2013-04-29 23:38:48
8311000001  2013-04-29 23:38:48
3 rows in set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)

代替

mysql> select code, created_at from my_records;
+------------+---------------------+
|     code   |          created_at |
+------------+---------------------+
| 1213307927 | 2013-04-26 09:52:10 |
| 8400000000 | 2013-04-29 23:38:48 |
| 8311000001 | 2013-04-29 23:38:48 |
+------------+---------------------+
3 rows in set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)

我问的原因是因为我需要复制输出并将其粘贴到其他工具上,这是一项繁琐的工作.

Vah*_*aji 22

--raw,-r

对于表格输出,列周围的"装箱"可以将一个列值与另一个列值区分开来.对于非表格输出(例如以批处理模式或在给出--batch或--silent选项时生成),特殊字符将在输出中转义,以便可以轻松识别它们.换行符,制表符,NUL和反斜杠写为\n,\ t,\ 0和\\.--raw选项禁用此字符转义.

以下示例演示了表格与非表格输出以及使用原始模式禁用转义:

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

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

% mysql -s -r
mysql> SELECT CHAR(92);
CHAR(92)
\
Run Code Online (Sandbox Code Playgroud)

来自MySQL Docs

  • 如果您像我一样并且想要 _just_ 没有列名称的结果,请也包含“--skip-column-names”选项。 (2认同)

kuj*_*jiy 8

单线

mysql -u YOURUSER -p --password=YOURPASSWORD -s -r -e "show databases;"        
mysql -u root -p --password=abc12345 -s -r -e "show databases;"
Run Code Online (Sandbox Code Playgroud)


edt*_*ech 8

不完全是你需要的,但它可能是有用的.在查询结尾添加\ G.

select code, created_at from my_records\G;
Run Code Online (Sandbox Code Playgroud)

查询结果如下所示:

*************************** 1. row ***************************
 code: 1213307927
 created_at: 2013-04-26 09:52:10
*************************** 2. row ***************************
 code: 8400000000  
 created_at: 2013-04-29 23:38:48
Run Code Online (Sandbox Code Playgroud)


Chr*_*ski 7

您需要传递-s参数mysql -s


ara*_*dur 6

mysql --skip-column-names --silent --raw --execute“从某处选择*;”

要使这些成为用户的默认选项,请将以下内容添加到 ~/.my.cnfskip_column_namessilent raw