MySQL クエリ結果を CSV 形式で出力するにはどうすればよいですか?
質問
Linux コマンドラインから MySQL クエリを実行し、結果を出力する簡単な方法はありますか? CSV フォーマット?
私が今やっていることは次のとおりです。
mysql -u uid -ppwd -D dbname << EOQ | sed -e 's/ /,/g' | tee list.csv
select id, concat("\"",name,"\"") as name
from students
EOQ
引用符で囲む必要がある列が多数ある場合や、結果にエスケープする必要がある引用符が含まれている場合は、煩雑になります。
解決
から http://www.tech-recipes.com/rx/1475/save-mysql-query-results-into-a-text-or-csv-file/
SELECT order_id,product_name,qty
FROM orders
WHERE foo = 'bar'
INTO OUTFILE '/var/lib/mysql-files/orders.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n';
このコマンドカラム名を除います。
ることにも注意が /var/lib/mysql-files/orders.csv
まし サーバー するようにMySQL.ユーザがMySQLプロセスが動けに対して書き込み権限を持っているディレクトリに選ばれた、またはコマンドに失敗します。
書き込みを行う場合は出力を機械からのリモートサーバ(特に、主催または仮想化機械などのHerokuやAmazon RDS)におけるこの溶液は適しています。
他のヒント
$ mysql your_database --password=foo < my_requests.sql > out.csv
タブが分離されています。真CSV(感謝@therefromhere)を取得するために、そのようなパイプをます:
... .sql | sed 's/\t/,/g' > out.csv
のmysql --batch、-B
印刷結果は、上のそれぞれの行と、列セパレータとしてタブを使用して 改行。このオプションを使用すると、MySQLは履歴ファイルを使用しません。 バッチモード結果非平板出力形式でのエスケープ 特殊文字。エスケープは、rawモードを使用して無効にすることができます。見る --rawオプションの説明ます。
このはあなたにタブ区切りファイルを提供します。カンマ(またはカンマを含む文字列)がエスケープされていないので、それはカンマに区切り文字を変更することは簡単ではありません。
こちらはかなりgnarlyうのはそれができていました。かどこかできない受信用
mysql --user=wibble --password wobble -B -e "select * from vehicle_categories;" | sed "s/'/\'/;s/\t/\",\"/g;s/^/\"/;s/$/\"/;s/\n//g" > vehicle_categories.csv
作品ですね。再もregexの証明書だけます。
Regex説明:
- s///の代替手段何間//という間の二//
- g終了時には修飾子が"すべてのインスタンスだけでなく、初の"
- ^(このコンテキストのことを頭線
- $(このコンテキスト)の
だけでは、なくてはならない:
s/'/\'/ replace ' with \'
s/\t/\",\"/g replace all \t (tab) with ","
s/^/\"/ at the beginning of the line place a "
s/$/\"/ at the end of the line place a "
s/\n//g replace all \n (newline) with nothing
UNIX / CygwinはパイプそれはTR 'を介して、のみに
mysql <database> -e "<query here>" | tr '\t' ',' > data.csv
N.B:これは、埋め込まれたカンマ、また、埋め込みタブどちらを処理します。
これは私に数回を救いました。高速で、それは働く!
--batchする 印刷結果使用のタブの各行、列セパレータとして強いです> 新しい行。の
--rawする < em>の文字エスケープ(\ nは、\ tの、\ 0、および\)の
を無効にします
例:
mysql -udemo_user -p -h127.0.0.1 --port=3306 \
--default-character-set=utf8mb4 --database=demo_database \
--batch --raw < /tmp/demo_sql_query.sql > /tmp/demo_csv_export.tsv
完全にするために、あなたはにCSVに変換する(ただし、タブが内側になる可能性があるため、 に注意するhref="https://stackoverflow.com/a/23055159/2450431">を
tr '\t' ',' < file.tsv > file.csv
Paul Tomblin によって提供された OUTFILE ソリューションでは、MySQL サーバー自体にファイルが書き込まれるため、これは次の条件を備えている場合にのみ機能します。 ファイル アクセス、およびログイン アクセスやそのボックスからファイルを取得するためのその他の手段。
そのようなアクセス権がなく、タブ区切りの出力が CSV の適切な代替手段である場合 (たとえば、最終目標が Excel にインポートすることである場合)、Serbaut の解決策 (次を使用) が適しています。 mysql --batch
そしてオプションで --raw
)が進むべき道です。
いかがます:
mysql your_database -p < my_requests.sql | awk '{print $1","$2}' > out.csv
これまでにここに解決策のすべては、MySQLのワークベンチ1を除いて、MySQLのDB内の少なくともいくつかの可能なコンテンツのために(つまり、セキュリティの問題)間違ったと恐らく安全ではない。
MYSQLワークベンチ(及び同様にPHPMyAdminの)正式に正しい解決策を提供するが、ユーザの位置への出力をダウンロードするために設計されています。彼らは、データのエクスポートを自動化するようなもののためにそれほど有用ではないです。
つまりフィールドに改行や空白をエンコードすることができないため、はmysql -B -e 'SELECT ...'
の出力から確実に正しいCSVファイルを生成することは不可能です。 MySQLへ「-s」フラグは、バックスラッシュエスケープ処理をするのか、そして正しい解につながる可能性があります。しかし、スクリプト言語(bashのではないまともな内部データ構造を持つもの)を使用して、エンコードの問題はすでに慎重に働いてきたライブラリがはるかに安全です。
私はこのためにスクリプトを書くことについて考えた、しかし、すぐに私はそれを呼びたいかについて考えたとして、同じ名前で既存の仕事を検索するために私に起こりました。私は徹底的にそれを乗り越えていないが、で溶液 https://github.com/robmiller/mysql2csv有望に見えます。アプリケーションによっては、SQLコマンドを指定するYAMLのアプローチは、またはかかわらアピールしない場合があります。私のUbuntu 12.04のラップトップやDebian Squeezeのサーバを標準として来るよりも、私はまた、ルビーのより新しいバージョンのための要件と興奮していませんよ。はい、私は私がRVMを使用することができます知っているが、私はむしろ、このような単純な目的のためにそれを維持しないと思います。
うまくいけば、誰かがテストのビットを持っていただ、適切なツールを、指摘します。私は1つを見つけるか、または書くときそうしないと私はおそらくこれを更新します。
あなたのコマンドラインから、 あなたがこれを行うことができます:
mysql -h *hostname* -P *port number* --database=*database_name* -u *username* -p -e *your SQL query* | sed 's/\t/","/g;s/^/"/;s/$/"/;s/\n//g' > *output_file_name.csv*
のクレジット:のエクスポートテーブルアマゾンRDSからcsvファイルのに
このページの答えの多くは弱いです。例えばコンマと引用符は、常に最終的に出てくるフィールドやその他の条件に埋め込まれました。我々は、すべての有効なCSV入力データのために働く一般的なソリューションを必要とします。
ここではPythonでシンプルかつ強力なソリューションです。
#!/usr/bin/env python
import csv
import sys
tab_in = csv.reader(sys.stdin, dialect=csv.excel_tab)
comma_out = csv.writer(sys.stdout, dialect=csv.excel)
for row in tab_in:
comma_out.writerow(row)
、そのファイルtab2csv
に名前を付け、あなたのパス上にそれを置く、それが実行許可を与え、その後、このようにそれを使用します:
mysql OTHER_OPTIONS --batch --execute='select * from whatever;' | tab2csv > outfile.csv
のPython CSV処理関数は、CSV入力形式(S)のためのコーナーケースをカバーします。
このストリーミングアプローチを経由して、非常に大きなファイルを扱うために改善することができます。
- 論理
CREATE TABLE () (SELECT data FROM other_table ) ENGINE=CSV ;
を作成する場合、CSVテーブル、サーバはテーブルを作成する形式のファイル データベースのディレクトリです。ファイルで始まるテーブル名 .frm拡張子.ストレージエンジンのものを作成しデータファイルです。その名前 テーブル名から始まりとなのです。●CSVいます。データファイル テキストファイルです。きの店舗データをテーブルの保管 エンジンを保存しますが、データファイルをカンマで区切られた値形式です。
これはシンプルで、作品は何もせずにバッチモードまたは出力ファイル:
select concat_ws(',',
concat('"', replace(field1, '"', '""'), '"'),
concat('"', replace(field2, '"', '""'), '"'),
concat('"', replace(field3, '"', '""'), '"'))
from your_table where etc;
説明:
- 交換
"
と""
各分野-->replace(field1, '"', '""')
- サラウンドに結果を引用符で-->
concat('"', result1, '"')
- 場所はカンマとの間に引用された結果-->
concat_ws(',', quoted1, quoted2, ...)
しようとしています。
この答えは PyMySQL に、Pythonと人気のあるサードパーティのライブラリを使用しています。 Pythonの CSV のライブラリは、のに十分強力であるので、私はそれを追加しています正しくの.csv
の多くの異なった味なし他の回答を扱うデータベースと対話するPythonコードを使用しています。
import contextlib
import csv
import datetime
import os
# https://github.com/PyMySQL/PyMySQL
import pymysql
SQL_QUERY = """
SELECT * FROM my_table WHERE my_attribute = 'my_attribute';
"""
# embedding passwords in code gets nasty when you use version control
# the environment is not much better, but this is an example
# https://stackoverflow.com/questions/12461484
SQL_USER = os.environ['SQL_USER']
SQL_PASS = os.environ['SQL_PASS']
connection = pymysql.connect(host='localhost',
user=SQL_USER,
password=SQL_PASS,
db='dbname')
with contextlib.closing(connection):
with connection.cursor() as cursor:
cursor.execute(SQL_QUERY)
# Hope you have enough memory :)
results = cursor.fetchall()
output_file = 'my_query-{}.csv'.format(datetime.datetime.today().strftime('%Y-%m-%d'))
with open(output_file, 'w', newline='') as csvfile:
# http://stackoverflow.com/a/17725590/2958070 about lineterminator
csv_writer = csv.writer(csvfile, lineterminator='\n')
csv_writer.writerows(results)
また上記の回答には、CSVエンジンを使用してMySQLのテーブルを持つことができます。
そして、あなたは常にあなたがそれを処理せずにコピーすることができCSV形式になり、あなたのハードディスク上のファイルを持っています。
前の回答に展開するには、以下のワンライナーは、タブ区切りファイルとして単一のテーブルをエクスポートします。それはそう毎日のデータベースをエクスポートするか、自動化に適しています。
mysql -B -D mydatabase -e 'select * from mytable'
便利なことに、我々はMySQLのテーブルを一覧表示するには、同じ手法を使用することができ、単一のテーブルの上にフィールドを記述するためにます:
mysql -B -D mydatabase -e 'show tables'
mysql -B -D mydatabase -e 'desc users'
Field Type Null Key Default Extra
id int(11) NO PRI NULL auto_increment
email varchar(128) NO UNI NULL
lastName varchar(100) YES NULL
title varchar(128) YES UNI NULL
userName varchar(128) YES UNI NULL
firstName varchar(100) YES NULL
また、私はtr
コマンドは、任意の区切り文字にデフォルトのタブを置き換えるために使用することが可能と考えています。
$ echo "SELECT * FROM Table123" | mysql Database456 | tr "\t" ,
user7610を踏まえ、ここでそれを行うための最善の方法です。 mysql outfile
とファイルの所有権と上書きの問題の60分がありました。
それはクールではないが、それは5分で働いています。
php csvdump.php localhost root password database tablename > whatever-you-like.csv
<?php
$server = $argv[1];
$user = $argv[2];
$password = $argv[3];
$db = $argv[4];
$table = $argv[5];
mysql_connect($server, $user, $password) or die(mysql_error());
mysql_select_db($db) or die(mysql_error());
// fetch the data
$rows = mysql_query('SELECT * FROM ' . $table);
$rows || die(mysql_error());
// create a file pointer connected to the output stream
$output = fopen('php://output', 'w');
// output the column headings
$fields = [];
for($i = 0; $i < mysql_num_fields($rows); $i++) {
$field_info = mysql_fetch_field($rows, $i);
$fields[] = $field_info->name;
}
fputcsv($output, $fields);
// loop over the rows, outputting them
while ($row = mysql_fetch_assoc($rows)) fputcsv($output, $row);
?>
ここで私は何をすべきかです。
echo $QUERY | \
mysql -B $MYSQL_OPTS | \
perl -F"\t" -lane 'print join ",", map {s/"/""/g; /^[\d.]+$/ ? $_ : qq("$_")} @F ' | \
mail -s 'report' person@address
(他の場所からsniped)perlスクリプトをCSVにタブ間隔のフィールドを変換する素敵な仕事をしていません。
未正確にCSV形式としてではなく、 tee
コマンドのMySQLのからのクライアントののローカルのファイルに出力を保存するために使用することができます:
tee foobar.txt
SELECT foo FROM bar;
あなたはnotee
を使用して、それを無効にすることができます。
SELECT … INTO OUTFILE …;
の問題点は、それがサーバーにファイルを書き込む権限を必要とすることである。
ティムによって投稿ソリューションを使用して、私は(rootのパスワードが要求されていますが、他のユーザーを求めるために簡単にスクリプトを変更することができます)プロセスを容易にするために、このbashスクリプトを作成します:
#!/bin/bash
if [ "$1" == "" ];then
echo "Usage: $0 DATABASE TABLE [MYSQL EXTRA COMMANDS]"
exit
fi
DBNAME=$1
TABLE=$2
FNAME=$1.$2.csv
MCOMM=$3
echo "MySQL password:"
stty -echo
read PASS
stty echo
mysql -uroot -p$PASS $MCOMM $DBNAME -B -e "SELECT * FROM $TABLE;" | sed "s/'/\'/;s/\t/\",\"/g;s/^/\"/;s/$/\"/;s/\n//g" > $FNAME
のdatabase.table.csvの これは、という名前のファイルを作成します。
は、あなたがエクスポートする mysql2csv に使用することができますabitrary mysqlのクエリのための(実際には有効)CSVファイル。 - OUTFILE LOCAL INTO SELECT *もう少し文脈/情報のためを
?。私はmysql
と--file
オプションを提供するのに十分である必要がありますので--query
からオプション名を維持しようとします:
./mysql2csv --file="/tmp/result.csv" --query='SELECT 1 as foo, 2 as bar;' --user="username" --password="password"
を経由しての "インストール" mysql2csv
の
wget https://gist.githubusercontent.com/paslandau/37bf787eab1b84fc7ae679d1823cf401/raw/29a48bb0a43f6750858e1ddec054d3552f3cbc45/mysql2csv -O mysql2csv -q && (sha256sum mysql2csv | cmp <(echo "b109535b29733bd596ecc8608e008732e617e97906f119c66dd7cf6ab2865a65 mysql2csv") || (echo "ERROR comparing hash, Found:" ;sha256sum mysql2csv) ) && chmod +x mysql2csv
(要旨のダウンロードコンテンツ、チェックサムをチェックし、それを実行します)。
私の仕事は何ます:
SELECT *
FROM students
WHERE foo = 'bar'
LIMIT 0,1200000
INTO OUTFILE './students-1200000.csv'
FIELDS TERMINATED BY ',' ESCAPED BY '"'
ENCLOSED BY '"'
LINES TERMINATED BY '\r\n';
このスレッドでのソリューションのどれも私は私のCSV出力でめちゃくちゃになるだろう列の1の内側にはかなりのJSONデータを持っていた、私の特定のケースのために働いていません。同様の問題を持つ人のために、\ rの代わりに\ nで終わる行を試してみます。
また、Microsoft ExcelとCSVファイルを開こうとすると、それらのためのもう一つの問題は、それが下の行に溢れたその上に単一のセルは、保持することができます32,767文字の制限がある心に留めておきます。列に記録された特定するには、以下のクエリを使用し、問題があります。あなたが好きなあなたはその後、それらのレコードを切り捨てるか、それらを処理することができます。
SELECT id,name,CHAR_LENGTH(json_student_description) AS 'character length'
FROM students
WHERE CHAR_LENGTH(json_student_description)>32767;
CSVへの単純なクエリを実行するための小さなbashスクリプトは、 https://stackoverflow.com/a/5395421/2841607 <触発さダンプ/>。
#!/bin/bash
# $1 = query to execute
# $2 = outfile
# $3 = mysql database name
# $4 = mysql username
if [ -z "$1" ]; then
echo "Query not given"
exit 1
fi
if [ -z "$2" ]; then
echo "Outfile not given"
exit 1
fi
MYSQL_DB=""
MYSQL_USER="root"
if [ ! -z "$3" ]; then
MYSQL_DB=$3
fi
if [ ! -z "$4" ]; then
MYSQL_USER=$4
fi
if [ -z "$MYSQL_DB" ]; then
echo "Database name not given"
exit 1
fi
if [ -z "$MYSQL_USER" ]; then
echo "Database user not given"
exit 1
fi
mysql -u $MYSQL_USER -p -D $MYSQL_DB -B -s -e "$1" | sed "s/'/\'/;s/\t/\",\"/g;s/^/\"/;s/$/\"/;s/\n//g" > $2
echo "Written to $2"
このコードを試してみてください。
SELECT 'Column1', 'Column2', 'Column3', 'Column4', 'Column5'
UNION ALL
SELECT column1, column2,
column3 , column4, column5 FROM demo
INTO OUTFILE '/tmp/demo.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n';
詳細については:のhttp://dev.mysql .COM / DOC / refman / 5.1 / EN /選択-into.html の
次のbashスクリプトは私のために動作します。それはまた、必要に応じて要求されたテーブルのスキーマを取得します。
#!/bin/bash
#
# export mysql data to CSV
#https://stackoverflow.com/questions/356578/how-to-output-mysql-query-results-in-csv-format
#
#ansi colors
#http://www.csc.uvic.ca/~sae/seng265/fall04/tips/s265s047-tips/bash-using-colors.html
blue='\033[0;34m'
red='\033[0;31m'
green='\033[0;32m' # '\e[1;32m' is too bright for white bg.
endColor='\033[0m'
#
# a colored message
# params:
# 1: l_color - the color of the message
# 2: l_msg - the message to display
#
color_msg() {
local l_color="$1"
local l_msg="$2"
echo -e "${l_color}$l_msg${endColor}"
}
#
# error
#
# show the given error message on stderr and exit
#
# params:
# 1: l_msg - the error message to display
#
error() {
local l_msg="$1"
# use ansi red for error
color_msg $red "Error:" 1>&2
color_msg $red "\t$l_msg" 1>&2
usage
}
#
# display usage
#
usage() {
echo "usage: $0 [-h|--help]" 1>&2
echo " -o | --output csvdirectory" 1>&2
echo " -d | --database database" 1>&2
echo " -t | --tables tables" 1>&2
echo " -p | --password password" 1>&2
echo " -u | --user user" 1>&2
echo " -hs | --host host" 1>&2
echo " -gs | --get-schema" 1>&2
echo "" 1>&2
echo " output: output csv directory to export mysql data into" 1>&2
echo "" 1>&2
echo " user: mysql user" 1>&2
echo " password: mysql password" 1>&2
echo "" 1>&2
echo " database: target database" 1>&2
echo " tables: tables to export" 1>&2
echo " host: host of target database" 1>&2
echo "" 1>&2
echo " -h|--help: show help" 1>&2
exit 1
}
#
# show help
#
help() {
echo "$0 Help" 1>&2
echo "===========" 1>&2
echo "$0 exports a csv file from a mysql database optionally limiting to a list of tables" 1>&2
echo " example: $0 --database=cms --user=scott --password=tiger --tables=person --output person.csv" 1>&2
echo "" 1>&2
usage
}
domysql() {
mysql --host $host -u$user --password=$password $database
}
getcolumns() {
local l_table="$1"
echo "describe $l_table" | domysql | cut -f1 | grep -v "Field" | grep -v "Warning" | paste -sd "," - 2>/dev/null
}
host="localhost"
mysqlfiles="/var/lib/mysql-files/"
# parse command line options
while true; do
#echo "option $1"
case "$1" in
# options without arguments
-h|--help) usage;;
-d|--database) database="$2" ; shift ;;
-t|--tables) tables="$2" ; shift ;;
-o|--output) csvoutput="$2" ; shift ;;
-u|--user) user="$2" ; shift ;;
-hs|--host) host="$2" ; shift ;;
-p|--password) password="$2" ; shift ;;
-gs|--get-schema) option="getschema";;
(--) shift; break;;
(-*) echo "$0: error - unrecognized option $1" 1>&2; usage;;
(*) break;;
esac
shift
done
# checks
if [ "$csvoutput" == "" ]
then
error "ouput csv directory not set"
fi
if [ "$database" == "" ]
then
error "mysql database not set"
fi
if [ "$user" == "" ]
then
error "mysql user not set"
fi
if [ "$password" == "" ]
then
error "mysql password not set"
fi
color_msg $blue "exporting tables of database $database"
if [ "$tables" = "" ]
then
tables=$(echo "show tables" | domysql)
fi
case $option in
getschema)
rm $csvoutput$database.schema
for table in $tables
do
color_msg $blue "getting schema for $table"
echo -n "$table:" >> $csvoutput$database.schema
getcolumns $table >> $csvoutput$database.schema
done
;;
*)
for table in $tables
do
color_msg $blue "exporting table $table"
cols=$(grep "$table:" $csvoutput$database.schema | cut -f2 -d:)
if [ "$cols" = "" ]
then
cols=$(getcolumns $table)
fi
ssh $host rm $mysqlfiles/$table.csv
cat <<EOF | mysql --host $host -u$user --password=$password $database
SELECT $cols FROM $table INTO OUTFILE '$mysqlfiles$table.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n';
EOF
scp $host:$mysqlfiles/$table.csv $csvoutput$table.csv.raw
(echo "$cols"; cat $csvoutput$table.csv.raw) > $csvoutput$table.csv
rm $csvoutput$table.csv.raw
done
;;
esac
、あなたはそれを行うためのPHPスクリプトを書くことができます。これは、PHPのインストールはMySQLの拡張機能がインストールされている必要があります。
あなたはそのようなコマンドラインからPHPインタプリタを呼び出すことができます:
php --php-ini path/to/php.ini your-script.php
あなたはMySQL拡張を可能にし、独自のPHPの設定を使用する必要があるかもしれないので、私は、--php-ini
スイッチを含めています。それはそれを有効にするために構成を使用することはもはや必要であるので、PHPで5.3.0+その拡張子は、デフォルトで有効になっていません。
そして、あなたが任意の通常のPHPスクリプトのようなエクスポート・スクリプトを書くことができます:
<?php
#mysql_connect("localhost", "username", "password") or die(mysql_error());
mysql_select_db("mydb") or die(mysql_error());
$result = mysql_query("SELECT * FROM table_with_the_data p WHERE p.type = $typeiwant");
$result || die(mysql_error());
while($row = mysql_fetch_row($result)) {
$comma = false;
foreach ($row as $item) {
# Make it comma separated
if ($comma) {
echo ',';
} else {
$comma = true;
}
# Quote the quotes
$quoted = str_replace("\"", "\"\"", $item);
# Quote the string
echo "\"$quoted\"";
}
echo "\n";
}
?>
この方法の利点は、改行を含むテキストを持っているvarchar型、テキストフィールドに問題を持っていないこと、です。これらのフィールドが正しく引用されており、それらのもの改行は、テキストではなく、レコードセパレータの一部としてCSVリーダーによって解釈されます。これは SEDするまたはそう後で修正するのは難しいものです。
以下は、をタブ区切り、有効なのCSV出力を生成します。他の回答のほとんどとは異なり、この技術は、正しくSED、AWK、またはtrのような任意のストリームフィルタなし、タブ、カンマ、引用符、および改行のエスケープを処理します。ストリームを使用してどのようにパイプリモートMySQLテーブル直接ローカルSQLiteデータベースに例が示されています。これは、ファイルの許可なしに動作しますかOUTFILE許可INTO SELECT。私は読みやすさのために新しい行を追加します。
mysql -B -C --raw -u 'username' --password='password' --host='hostname' 'databasename'
-e 'SELECT
CONCAT('\''"'\'',REPLACE(`id`,'\''"'\'', '\''""'\''),'\''"'\'') AS '\''id'\'',
CONCAT('\''"'\'',REPLACE(`value`,'\''"'\'', '\''""'\''),'\''"'\'') AS '\''value'\''
FROM sampledata'
2>/dev/null | sqlite3 -csv -separator $'\t' mydb.db '.import /dev/stdin mycsvtable'
2>/dev/null
は、コマンドラインでパスワードに関する警告を抑制するために必要とされます。
あなたのデータはNULLを持っている場合は、クエリでIFNULL()関数を使用することができます。
利用できる以下のコマンドからSQLエディター/端子:
"mysql-hホスト名/IP>)-uユーザ名)-p(パスワード)databasename <(返します。sql)>outputFILE(.txt/.xls)"
e.g ホスト名をする。x.x.x
uname-ユーザー名
パスワード-パスワード
DBName-employeeDB
queryFile-従業員.sql
outputFile-outputFile.xls
mysql-hx.x.x.x-uusername-ppassword employeeDB< 員。sql>outputFile.xls
ていることを確認してくださいコマンドを実行しのディレクトリSQLクエリーにあたりのフルパスでの、sqlクエリの場所で上記のコマンドです。