sql >> Database teknologi >  >> Database Tools >> phpMyAdmin

Hvordan fungerer phpMyAdmin-eksportfunktionen?

Du kan tjekke phpMyAdmin-kildekoden (en fordel ved open source-software). Tjek export.php-scriptet og de understøttende funktioner i libraries/export/sql.php-scriptfilen.

Sammenfattende, hvad phpMyAdmin gør er:

  • få en liste over tabellerne i den givne database (VIS TABELLER FRA...),
  • hent oprettelsesforespørgslen for hver tabel (VIS OPRET TABEL...),
  • parse det og udtræk kolonnedefinitioner fra det,
  • hent alle data (VÆLG * FRA...)
  • byg en forespørgsel i henhold til kolonnedata.

Jeg har skrevet lignende kode til mine egne apps (til sikkerhedskopiering, når GPL-licensen for phpMyAdmin ikke tillader mig at bruge den), men jeg bruger DESCRIBE til at få kolonnedefinitioner. Jeg tror, ​​de hellere analyserer SHOW CREATE TABLE-outputtet, fordi det indeholder mere information end DESCRIBE-output.

Denne måde at generere SQL-sætninger på kræver en smule omhu at håndtere escape, men det giver mulighed for en vis fleksibilitet, da du kan konvertere typer, filtrere eller rense data osv. Det er også meget langsommere end at bruge et værktøj som mysqldump, og du bør pas på ikke at forbruge al tilgængelig hukommelse (skriv snart, skriv ofte, gem ikke alt i hukommelsen).

Hvis du vil implementere en migreringsproces (fra server til server), ville det måske være lettere at gøre det med nogle shell-scripting og kalde mysqldump direkte, medmindre du vil gøre alt med PHP.




  1. Hvordan ved Management Studio at gemme mine T-SQL-kommentarer?

  2. SQL Server-skabeloner - Hvordan undslipper jeg den mindre end karakter?

  3. Sådan opretter du et ER-diagram i DBeaver

  4. #1146 - Tabel 'phpmyadmin.pma__tracking' eksisterer ikke