如何禁止单个 SQL 语句的列标题输出?

How can I suppress column header output for a single SQL statement?

提问人:einpoklum 提问时间:4/19/2013 最后编辑:einpoklum 更新时间:8/21/2022 访问量:208045

问:

我正在批量执行一些SQL语句(使用命令行二进制文件)。我希望我的几个 SELECT 语句中的一个不打印列标题,只打印选定的记录。这可能吗?mysql

MySQL 输出 列标题 抑制

评论


答:

325赞 suspectus 1/3/2014 #1

使用 (is 的别名)选项调用 mysql:-N-N--skip-column-names

mysql -N ...
use testdb;
select * from names;

+------+-------+
|    1 | pete  |
|    2 | john  |
|    3 | mike  |
+------+-------+
3 rows in set (0.00 sec)

感谢 ErichBSchulz 指出了 -N 别名。

要删除结果周围的网格(垂直线和水平线),请使用 ()。列之间用字符分隔。-s--silentTAB

mysql -s ...
use testdb;
select * from names;

id  name
1   pete
2   john
3   mike

要输出没有标头和网格的数据,只需同时使用 和 。-s-N

mysql -sN ...

评论

5赞 Michael J 4/29/2016
-sN 对我来说效果很好,可以将输出分配给脚本中的变量:...TABLES=$(mysql -sN -u $DB_USER -p$DB_PASS
8赞 codeforester 3/14/2018
这适用于整个会话,而不仅仅是单个 SQL 语句。Oracle SQLPlus 具有并且可以在会话中的任何位置使用。MySQL有等效的吗?看起来这就是 OP 想要的。set feedback onset feedback off
0赞 fcm 3/25/2019
只是一个简短的注释,简化使用 select * from testdb.names;没有明确的“use”。
4赞 Ale 1/20/2021
-s 的 long 选项是 --silent,对于 -N --skip-column-names。-B 或 --batch 代替 -s 也很好用。
21赞 Tom Warfield 7/2/2014 #2

你可以像这样伪造它:

-- with column headings 
select column1, column2 from some_table;

-- without column headings
select column1 as '', column2 as '' from some_table;

评论

0赞 QkiZ 6/4/2020
Error: Type mismatch: expected type string, but got别名为空时出错
0赞 Tom Warfield 6/7/2020
看起来该错误来自 MySQL Workbench,而不是来自 MySQL。无论如何,您也可以使用单个空格而不是空字符串,这似乎在 MySQL Workbench 中有效:select column1 as ' ', column2 as ' ' from some_table;
0赞 edwardsmarkf 6/12/2022
此方法会留下可能需要删除的初始空行。
0赞 Martin Bramwell 8/21/2022 #3

一个很好的理由“......要。。。SELECT 语句不打印列标题...”用于记录输出。

感谢@tom_warfield我这样做:

select "Relevant details from Stock Entry." as ""\G
select 
      SE.name
    , SED.item_code
    , SED.s_warehouse
    , SED.t_warehouse
    , REPLACE(SED.serial_no,'\n',', ') as serial_no
from
    `tabStock Entry` SE left join `tabStock Entry Detail` SED 
    :
    :

然后,我的输出如下所示:

*************************** 1. row ***************************
: Relevant details from Stock Entry.
+--------------------+-------------------------------+--------------------------+----------------------------+---------------------------------------------------------------------------------------------------------------------+
| name               | item_code                     | s_warehouse              | t_warehouse                | serial_no                                                                                                           |

请注意,不是每行输出一个属性,而是每行一行。"\G"";"