143

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

4

2 回答 2

298

使用( is-N的别名)选项调用 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字符分隔。

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

id  name
1   pete
2   john
3   mike

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

mysql -sN ...
于 2014-01-02T16:17:45.277 回答
17

你可以像这样伪造它:

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

-- without column headings
select column1 as '', column2 as '' from some_table;
于 2014-07-02T14:34:13.273 回答