要件を考えると、(擬似コード+ SQL)が残っていると思います
tables = mysql_fetch "SHOW TABLES"
foreach table in tables
create = mysql_fetch "SHOW CREATE TABLE table"
print create
rows = mysql_fetch "SELECT * FROM table"
foreach row in rows
// or could use VALUES (v1, v2, ...), (v1, v2, ...), .... syntax (maybe preferable for smaller tables)
insert = "INSERT (fiedl1, field2, field2, etc) VALUES (value1, value2, value3, etc)"
print insert
基本的に、すべてのテーブルのリストをフェッチしてから、各テーブルをウォークしてINSERT
を生成します 各行のステートメントを手動で(ほとんどのAPIには、列名のリストを取得する簡単な方法があります。それ以外の場合は、DESC TABLE
の呼び出しにフォールバックできます。 。
SHOW CREATE TABLE
これはあなたのために行われますが、SHOW INSERT ROWS
に類似したものはないと確信しています。 。
そしてもちろん、ダンプを印刷する代わりに、それを使ってやりたいことが何でもできます。