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

ein*_*ica 99 mysql suppression columnheader output

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

sus*_*tus 219

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

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

+------+-------+
|    1 | pete  |
|    2 | john  |
|    3 | mike  |
+------+-------+
3 rows in set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)

感谢ErichBSchulz指出-N别名.

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

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

id  name
1   pete
2   john
3   mike
Run Code Online (Sandbox Code Playgroud)

要输出没有标题且没有网格的数据,只需使用-s-N.

mysql -sN ...
Run Code Online (Sandbox Code Playgroud)

  • -sN很适合我将输出分配给脚本中的变量:`TABLES = $(mysql -sN -u $ DB_USER -p $ DB_PASS` ... (4认同)
  • 这适用于整个会话,而不仅仅适用于单个SQL语句.Oracle SQLPlus具有"设置反馈"和"设置反馈关闭",可以在会话中的任何位置使用.MySQL有同等的吗?看起来这就是OP正在寻找的东西. (4认同)
  • -s 的长选项是 --silent,代表 -N --skip-column-names。-B 或 --batch 也可以代替 -s 很好地工作。 (4认同)
  • `-N`中的快捷方式 (3认同)

Tom*_*eld 15

你可以这样假装:

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

-- without column headings
select column1 as '', column2 as '' from some_table;
Run Code Online (Sandbox Code Playgroud)