sql >> Database >  >> RDS >> Mysql

MySQL:Dump een database van een SQL-query

Gezien uw vereisten, denk ik dat u (pseudo-code + SQL) overhoudt

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

Kortom, haal de lijst met alle tafels op, loop dan elke tafel en genereer INSERT instructies voor elke rij met de hand (de meeste api's hebben een eenvoudige manier om de lijst met kolomnamen op te halen, anders kunt u terugvallen op het aanroepen van DESC TABLE ).

SHOW CREATE TABLE wordt voor je gedaan, maar ik ben er vrij zeker van dat er niets analoogs te doen is SHOW INSERT ROWS .

En natuurlijk, in plaats van de dump af te drukken, kun je ermee doen wat je wilt.



  1. Transparante gegevenscodering (TDE) in SQL Server in een AlwaysOn-beschikbaarheidsgroep op voorbeeld

  2. Fout tijdens het uitvoeren van Mariadb update-instructie

  3. Hoe exporteer ik alle gegevens van een tabel naar een invoegbaar sql-formaat?

  4. Selecteer ontgrendelde rij in Postgresql