少し前に、データベースのテーブルの構成情報のみを mysqldumpコマンドでエクスポートする方法についてまとめましたが、今回はデータのみを insert文で抽出する方法について。
めったに使わないので、なかなかオプションが覚えられず…。
なので、あとあと自分がコピー&ペーストして使えるようにまとめます。
なお、前回の記事はこちらから。
【MySQL】テーブルの情報をエクスポート・インポートする方法
https://cpoint-lab.co.jp/article/201808/【mysql】テーブルの情報をエクスポート・インポー/
さて、データのみを抽出するコマンドは下記のとおりです。
mysqldump -u [ユーザー名] -p -t [データベース名] [テーブル名] > [エクスポートするファイル名]
-t のオプションがポイントで、こちらがあるとテーブル構成情報を除いて、データのみをエクスポートできます。
なお、-t ではなく –no-create-info でも同じことができます。
が、個人的には、短い -t オプションの方が使いやすいかなと思います。
以上、データベースのテーブルからデータのみを抽出する方法でした。
本当は、MySQLの INTO 構文を使ってデータをCSVで抽出したかったのですが、どうやらそれを実行するための権限がなかったのでこのような方法をとることになりました。
ほんの少しデータを整形する必要はありましたが、こちらの方法でも簡単にデータ抽出を行えましたので、場合によってはこちらの方法を使ってもいいのかもしれません。