MySQL クエリの出力を MS Excel シートに保存するにはどうすればよいですか?
データをファイルに保存することしかできない場合でも.txt
問題ありません。
ベストアンサー1
からMySQLクエリ結果をテキストまたはCSVファイルに保存する:
MySQL は、SELECT ステートメントの結果をサーバー上のテキスト ファイルに書き込むための簡単なメカニズムを提供します。INTO OUTFILE 命名法の拡張オプションを使用すると、OpenOffice や Excel などのスプレッドシート アプリケーションや、CSV 形式のデータを受け入れるその他のアプリケーションにインポートできるコンマ区切り値 (CSV) を作成できます。
次のようなクエリがあるとします
SELECT order_id,product_name,qty FROM orders
3 列のデータを返す場合、次のクエリを使用して結果をファイル /tmp/orders.txt に配置できます。
SELECT order_id,product_name,qty FROM orders INTO OUTFILE '/tmp/orders.txt'
これにより、各行が独自の行にタブで区切られたファイルが作成されます。この動作を変更するには、クエリに修飾子を追加します。
SELECT order_id,product_name,qty FROM orders INTO OUTFILE '/tmp/orders.csv' FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n'
この例では、各フィールドは二重引用符で囲まれ、フィールドはカンマで区切られ、各行は改行 (\n) で区切られた新しい行に出力されます。このコマンドのサンプル出力は次のようになります。
"1","Tech-Recipes sock puppet","14.95" "2","Tech-Recipes chef's hat","18.95"
出力ファイルがまだ存在していてはならないこと、および MySQL を実行しているユーザーには、MySQL がファイルを書き込もうとしているディレクトリへの書き込み権限があることに注意してください。
構文
SELECT Your_Column_Name
FROM Your_Table_Name
INTO OUTFILE 'Filename.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
または、クライアント経由で出力を取得することもできます。
ローカル クライアントからクエリを実行し、出力をローカル ファイルの宛先にリダイレクトしてみることもできます。
mysql -user -pass -e "select cols from table where cols not null" > /tmp/output
ヒント: 絶対パスを指定せずに または のようなものを使用するとINTO OUTFILE 'output.csv'
、INTO OUTFILE './output.csv'
出力ファイルは で指定されたディレクトリに保存されますshow variables like 'datadir';
。