【发布时间】:2013-04-12 15:53:52
【问题描述】:
我正在批量执行一些 SQL 语句(使用 mysql 命令行二进制文件)。我希望我的几个 SELECT 语句之一不打印列标题,只打印选定的记录。这可能吗?
【问题讨论】:
标签: mysql output columnheader suppression
我正在批量执行一些 SQL 语句(使用 mysql 命令行二进制文件)。我希望我的几个 SELECT 语句之一不打印列标题,只打印选定的记录。这可能吗?
【问题讨论】:
标签: mysql output columnheader suppression
使用-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 ...
【讨论】:
TABLES=$(mysql -sN -u $DB_USER -p$DB_PASS...
set feedback on 和set feedback off,它们可以在会话中的任何位置使用。 MySQL是否有等价物?看起来这就是 OP 想要的。
你可以这样伪造:
-- with column headings
select column1, column2 from some_table;
-- without column headings
select column1 as '', column2 as '' from some_table;
【讨论】:
Error: Type mismatch: expected type string, but got 空别名错误
select column1 as ' ', column2 as ' ' from some_table;