我正在批量执行一些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"
而不是";"
每行输出一个属性,而不是每行输出一行。