I betragtning af dine krav, tror jeg, du står tilbage med (pseudo-kode + 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
Helt grundlæggende skal du hente listen over alle tabeller, derefter gå hver tabel og generere INSERT
sætninger for hver række manuelt (de fleste API'er har en enkel måde at hente listen over kolonnenavne på, ellers kan du falde tilbage til at kalde DESC TABLE
).
SHOW CREATE TABLE
er gjort for dig, men jeg er ret sikker på, at der ikke er noget tilsvarende at gøre SHOW INSERT ROWS
.
Og selvfølgelig, i stedet for at udskrive dumpen kan du gøre, hvad du vil med det.