

mysqlクライアントの-sオプションでタブ区切り出力にする
この記事は、構成と文章の整理にAIを使っています。
あくまで読みやすくするための補助で、内容そのものをAIにすべて任せて書いているわけではありませんが、ところどころ相談しながら整えています。
やったこと
mysqlコマンドラインクライアントで、クエリ結果をそのままTSVファイルに落としたいことがある。
mysql -s -u username -p dbname -h hostname -e "select * from tablename" > tablename.tsv-sオプションの効果
-s(--silent)を付けると、罫線付きの整形されたテーブル表示ではなく、タブ区切りの出力になる。TSVファイルを作っているのはシェルのリダイレクト(>)で、-sはあくまで出力形式をタブ区切りに切り替えているだけ。
ヘッダー行(カラム名)はデフォルトでは出力される。
ヘッダーを消したい場合
データ行だけ欲しいときは-N(--skip-column-names)を追加する。
mysql -s -N -u username -p dbname -h hostname -e "select * from tablename" > tablename.tsvパスワードの扱い
-pを単体で指定すると対話的にパスワード入力を求められる。-ppasswordのように直接値を書くこともできるが、シェルの履歴に平文で残るので避けたほうがいい。
結論
-s: タブ区切り出力への切り替え-N: ヘッダー行(カラム名)を消す- TSVファイル自体はシェルの
>リダイレクトで作られている