MySQLコマンドライン結果の出力形式をCSVに変更
2023-09-23 09:13:38
質問
コマンドラインでクエリの出力からヘッダーのないCSVデータをMySQLに取得したいのです。私はこのクエリを MySQL サーバーとは別のマシンで実行しているので、"INTO OUTFILE" を持つこれらすべての Google 回答は役に立ちません。
そこで、私は
mysql -e "select people, places from things"
. すると、次のようなものが出力されます。
+--------+-------------+
| people | places |
+--------+-------------+
| Bill | Raleigh, NC |
+--------+-------------+
まあ、それはしょうがない。でもね、見てください! もし私がパイプで にパイプすれば にパイプすると、タブ区切りのリストになります。
people places
Bill Raleigh, NC
これは良いですね、少なくともプログラムで解析可能です。でも、私はTSVじゃなくてCSVが欲しいし、ヘッダもいらない。ヘッダを取り除くには
mysql <stuff> | tail -n +2
で取り除けるけど、MySQLにヘッダを省略するフラグがあるのなら、それは避けたい。それに、タブを全部カンマに置き換えるわけにもいかないし、カンマが入ったコンテンツは扱えないしね。
では、MySQL にヘッダーを省略させ、CSV 形式のデータを提供させるにはどうしたらよいでしょうか。
どのように解決するのですか?
私は、最終的に
コマンドライン
ツールを書くことにしました。これは
cut
に似ているが、引用符で囲まれたフィールドなどをどうするかを知っている。このツールと @Jimothy の回答の組み合わせにより、ファイルシステムにアクセスできないリモートの MySQL サーバーから、このコマンドでヘッダーレス CSV を私のローカル マシンに取得することができます。
$ mysql -N -e "select people, places from things" | csvm -i '\t' -o ','
Bill,"Raleigh, NC"
関連
-
msql クエリでのエラー 'where 節' の不明な列 'yellow fruit'
-
[解決済み] MySQLでコマンドラインを使用してSQLファイルをインポートするにはどうすればよいですか?
-
[解決済み] Bashでコマンドライン引数を解析するには?
-
[解決済み] Bashでコマンドの出力に変数を設定するにはどうすればよいですか?
-
[解決済み] MySQLでコマンドラインを使用してユーザーアカウントのリストを取得するにはどうすればよいですか?
-
[解決済み] MySQLのクエリ結果をCSV形式で出力するにはどうすればよいですか?
-
[解決済み] コマンドラインから .bash_profile を再読み込みする方法は?
-
[解決済み] MySQLデータベースの名前を素早く変更する(スキーマ名を変更する)方法は?
-
[解決済み] コマンドラインからすべての環境変数をリストアップ
-
[解決済み】rakeタスクにコマンドライン引数を渡す方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
MysqlからElasticsearchにデータを同期させる方法を説明します。
-
[解決済み】DynamoDB : 提供されたキー要素がスキーマと一致しません。
-
[解決済み】MySQL エラー 1093 - FROM 句で更新のターゲット テーブルを指定できません。
-
[解決済み】マルチパート識別子をバインドできない
-
Mysqlデータベースへのリンク時にpymysqlがConnection refusedエラーを報告する
-
mysql がエラーを報告します。不明な文字セットです。'utf8mb4'
-
[解決済み] KEYキーワードは何を意味するのか?
-
[解決済み] ユーザー 'root'@'localhost' (パスワード: YES を使用) のアクセス拒否 - 特権がない?
-
[解決済み] MySQLのAUTO_INCREMENTをリセットする方法
-
[解決済み] MySQLのクエリ結果をCSV形式で出力するにはどうすればよいですか?