単一のSQLステートメントの列ヘッダー出力を抑制するにはどうすればよいですか?


113

一部のSQLステートメントをバッチで実行しています(mysqlコマンドラインバイナリを使用)。いくつかのSELECTステートメントの1つで、列ヘッダーを印刷せず、選択したレコードだけを印刷したい これは可能ですか?

回答:


247

-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)

-Nエイリアスを指摘したErichBSchulzの功績によるものです。

結果の周りのグリッド(垂直線と水平線)を削除するには、-s--silent)を使用します。列はTAB文字で区切られます。

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

id  name
1   pete
2   john
3   mike

ヘッダーもグリッドもないデータを出力するには、との両方-sを使用し-Nます。

mysql -sN ...

3
ショートカット-N
ErichBSchulz 2015

4
-sNは、スクリプトの出力を変数に割り当てるのにうまく機能しましたTABLES=$(mysql -sN -u $DB_USER -p$DB_PASS。...
Michael J

5
これは、単一のSQLステートメントだけでなく、セッション全体に適用されます。OracleのSQLPlusを持ってはset feedback onset feedback offどのセッションでどこでも使用することができます。MySQLに同等のものはありますか?それがOPが探していたもののようです。
codeforester 2018年

簡単なコメントです。select* from testdb.namesを使用して簡単にしてください。明示的な「使用」なし。
fcm

15

次のように偽ることができます:

-- 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空のエイリアスのエラー
QkiZ

そのエラーはMySQLではなく、MySQL Workbenchから発生しているようです。とにかく、あなたはまた、代わりに空の文字列を1つの空白スペースを使用することができ、それは、MySQL Workbenchで動作しているようです:select column1 as ' ', column2 as ' ' from some_table;
トム・ウォーフィールド
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.