2012-03-08 19 views
3

mysqldumpを使用してテーブルデータをcsvファイルにエクスポートします。mysqldumpを使用してテーブルデータをcsvファイルにエクスポートします。

私はのようなものを作りたい:

mysqldump --compact --no_create_info --tab=testing --fields-enclosed-by=\" --fields-terminated-by=, -uroot -proot mydatabase mytable 

が、私はこのエラーを取得しておいてください。

(Errcode: 13) when executing 'SELECT INTO OUTFILE' 

は、私は(私は環境としてのUbuntuを使用しています)私のテストフォルダを書き込み可能にしました。 CSVファイルにテーブルを書き出す方法や、コマンドシェルを変更して作業する方法を説明できますか?ありがとう!

答えて

5

このリンクをご覧ください。これは、csvファイルにテーブルをエクスポートする代わりの方法を示しています。

Export CSV directly from MySQL

私は、これが役に立つことを願っています。

6

これらすべてのINTO OUTFILEまたは--tab=tmpfileの答えとのトラブルは、MySQLサーバーと同じサーバー上mysqldumpをを実行する必要があることです。

マイ次いで、溶液をsedとASCII出力をマッサージ、-eでSELECT文をインライン、-Bパラメータでmysql(NOT mysqldump)を使用するだけであり、ヘッダフィールド行を含むCSVで羽目になる:

例:

mysql -B -u username -ppassword database -h dbhost -e "SELECT * FROM accounts;" |sed "s/'/\'/;s/\t/\",\"/g;s/^/\"/;s/$/\"/;s/\n//g" 

"id","login","password","folder","email" "8","mariana","57d40c8a954bc9e65f401592062019b1457be359","mariana","" "3","squaredesign","b01134fac01dab765bcb55ab0ca33f9ec2885a7b","squaredesign","[email protected]" "4","miedziak","601f1889667efaebb33b8c12572835da3f027f78","miedziak","[email protected]" "5","Sarko","480225f1ac707031bae300f3f5b06dbf79ed390e","Sarko","" "6","Logitrans Poland","9033b6b3c4acbb27418d8b0b26f4c880ea6dea22","LogitransPoland","" "7","Amos","50f5604164db2d5ff0e984f973d2202d5358b6a6","Amos","" "9","Annabelle","07e832cb64e66fa03c13498a26a5f8e3bdebddf1","Annabelle","" "11","Brandfathers and Sons","f08b194668249e4cb81fbb92df846e90569f5c01","BrandfathersAndSons","" "12","Imagine Group","e86f1645504c7d5a45ed41d16ecc39ed19181773","ImagineGroup","" "13","EduSquare.pl","80c3c099f4ecc043a19f1527400d63588567a0ad","EduSquare.pl","" "101","tmp","b01134fac01dab765bcb55ab0ca33f9ec2885a7b","_","[email protected]"

CSVファイルを取得するには、そのワンライナーの終わりに> outfile.csvを追加します。

+0

これは私が必要としていたもので、完璧に機能します。 –

関連する問題