Compte tenu de vos exigences, je pense qu'il vous reste (pseudo-code + 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
Fondamentalement, récupérez la liste de toutes les tables, puis parcourez chaque table et générez INSERT
instructions pour chaque ligne à la main (la plupart des API ont un moyen simple de récupérer la liste des noms de colonnes, sinon vous pouvez revenir à l'appel de DESC TABLE
).
SHOW CREATE TABLE
est fait pour vous, mais je suis presque certain qu'il n'y a rien d'analogue à faire SHOW INSERT ROWS
.
Et bien sûr, au lieu d'imprimer le dump, vous pouvez en faire ce que vous voulez.