phpMyAdmin
 sql >> Datenbank >  >> Database Tools >> phpMyAdmin

Wie funktioniert die phpMyAdmin-Exportfunktion?

Sie können den phpMyAdmin-Quellcode überprüfen (ein Vorteil von Open-Source-Software). Überprüfen Sie das Skript export.php und die unterstützenden Funktionen in der Skriptdatei „libraries/export/sql.php“.

Zusammenfassend macht phpMyAdmin Folgendes:

  • eine Liste der Tabellen in der gegebenen Datenbank erhalten (SHOW TABLES FROM...),
  • die Erstellungsabfrage für jede Tabelle abrufen (SHOW CREATE TABLE...),
  • parsen Sie es und extrahieren Sie Spaltendefinitionen daraus,
  • alle Daten abrufen (SELECT * FROM...)
  • Erstellen Sie eine Abfrage anhand von Spaltendaten.

Ich habe ähnlichen Code für meine eigenen Apps geschrieben (für Backup-Zwecke, wenn die GPL-Lizenz von phpMyAdmin es mir nicht erlaubt, ihn zu verwenden), aber ich benutze DESCRIBE, um Spaltendefinitionen zu erhalten. Ich denke, sie parsen lieber die Ausgabe von SHOW CREATE TABLE, weil sie mehr Informationen enthält als die Ausgabe von DESCRIBE.

Diese Methode zum Generieren von SQL-Sätzen erfordert ein wenig Sorgfalt bei der Handhabung des Escapings, ermöglicht jedoch eine gewisse Flexibilität, da Sie Typen konvertieren, Daten filtern oder bereinigen usw. können. Es ist auch viel langsamer als die Verwendung eines Tools wie mysqldump und Sie sollten es tun Achten Sie darauf, nicht den gesamten verfügbaren Speicher zu verbrauchen (schreiben Sie bald, schreiben Sie oft, behalten Sie nicht alles im Speicher).

Wenn Sie einen Migrationsprozess implementieren (von Server zu Server), wäre es vielleicht einfacher, dies mit einigen Shell-Skripten und dem direkten Aufruf von mysqldump zu tun, es sei denn, Sie werden alles mit PHP erledigen.