web-dev-qa-db-ja.com

MySQLクエリ結果の出力列区切り文字を変更することは可能ですか?

コマンドラインMySQLクエリ結果の出力列を区切るために使用される文字列を変更することは可能ですか?例えば。 |!または||に変更できますか?

3
epeleg

マニュアル(Linuxではman mysql)によると、mysqlを-s -rオプションで開始すると、クエリが

% mysql
mysql> SELECT CHAR(92);
+----------+
| CHAR(92) |
+----------+
| \        |
+----------+

% mysql -s -r
mysql> SELECT CHAR(92);
CHAR(92)
\
2

はい。 mysqlドキュメントから:

[mysqlコマンドライン]インタラクティブに使用すると、クエリ結果はASCIIテーブル形式で表示されます。非対話的に(たとえば、フィルターとして)使用すると、結果はタブ区切り形式で表示されます。出力形式は、コマンドオプションを使用して変更できます。

したがって、mysqlコマンドラインの出力をsedにパイプし、タブを必要なものに変更できます。

sed docを参照してください: http://www.grymoire.com/Unix/Sed.html#uh-6

また、そのオプションを明示的に追加するパッチがあるようです: http://bugs.mysql.com/bug.php?id=8904

0
haruny