我正在批量执行一些 SQL 语句(使用 mysql命令行二进制文件)。我希望我的几个 SELECT 语句中的一个不打印列标题,只打印选定的记录。这可能吗?
mysql
使用 -N(-N的别名是 --skip-column-names)选项调用 mysql:
-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(--silent)删除结果周围的网格(垂直和水平线)。列用 TAB字符分隔。
-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;
“ ... want... 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"而不是 ";"每行输出一个属性,而不是每行输出一行。
"\G"
";"