読者です 読者をやめる 読者になる 読者になる

mysqldumpで一行ずつのINSERT文を吐き出したい

デフォルトだと複数行INSERTによって高速にINSERT可能なのだが、場合によっては一行一行INSERTさせたいときがある。

mysqldump -c --skip-extended-insert > dump.sql

--extended-insert

複数のVALUESリストを含む、複数行INSERT構文を使用してください。これにより、ダンプファイルサイズを小さくし、ファイルが再ロードされる際の挿入スピードがあがります。

skipを付けると反転する。これで一行一行INSERTしてくれるが、カラム名のないINSERT文が出来上がる。カラム名まで出して欲しい場合には、下記のオプションを利用する。

--complete-insert, -c

カラム名を含んだ、完全なINSERTステートメントを使用します。

参考: http://ymotoba.blogspot.com/2008/07/mysqldumpinsert.html