Предвид вашите изисквания, мисля, че ви остава (псевдо-код + 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
оператори за всеки ред на ръка (повечето apis имат прост начин да извличат списъка с имена на колони, в противен случай можете да се върнете към извикването на DESC TABLE
).
SHOW CREATE TABLE
е направено за вас, но съм почти сигурен, че няма нищо аналогично за правене SHOW INSERT ROWS
.
И разбира се, вместо да отпечатвате сметището, можете да правите каквото искате с него.