如何抑制单个SQL语句的列标头输出



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

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

mysql -N ...
use testdb;
select * from names;
+------+-------+
|    1 | pete  |
|    2 | john  |
|    3 | mike  |
+------+-------+
3 rows in set (0.00 sec)

感谢ErichBSchulz指出了-N别名。

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

mysql -s ...
use testdb;
select * from names;
id  name
1   pete
2   john
3   mike

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

mysql -sN ...

你可以这样做:

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

一个很好的理由去"想要……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"而不是";"每行输出一个属性,而不是每行输出一行。

最新更新