sql >> Databasteknik >  >> Database Tools >> phpMyAdmin

Hur fungerar exportfunktionen för phpMyAdmin?

Du kan kontrollera phpMyAdmin-källkoden (en fördel med programvara med öppen källkod). Kontrollera export.php-skriptet och de stödjande funktionerna i skriptfilen libraries/export/sql.php.

Sammanfattningsvis, vad phpMyAdmin gör är:

  • få en lista över tabellerna i den givna databasen (VISA TABELLER FRÅN...),
  • få skapa-frågan för varje tabell (VISA SKAPA TABELL...),
  • analysera den och extrahera kolumndefinitioner från den,
  • hämta all data (VÄLJ * FRÅN...)
  • bygga en fråga enligt kolumndata.

Jag har skrivit liknande kod för mina egna appar (för säkerhetskopieringsändamål, när GPL-licensen för phpMyAdmin inte tillåter mig att använda den), men jag använder DESCRIBE för att få kolumndefinitioner. Jag tror att de hellre analyserar SHOW CREATE TABLE-utgången eftersom den innehåller mer information än DESCRIBE-utgången.

Det här sättet att generera SQL-meningar kräver lite noggrannhet för att hantera flykten, men det möjliggör viss flexibilitet, eftersom du kan konvertera typer, filtrera eller sanera data, etc. Det är också mycket långsammare än att använda ett verktyg som mysqldump och du bör se till att inte förbruka allt tillgängligt minne (skriv snart, skriv ofta, behåll inte allt i minnet).

Om du kommer att implementera en migreringsprocess (från server till server) kanske det skulle vara lättare att göra det med lite skalskript och anropa mysqldump direkt, om du inte kommer att göra allt med PHP.




  1. Installera och säkra phpMyAdmin med Apache på Debian 9

  2. phpMyAdmin-konfigurationslagringsfel

  3. Installerar phpmyadmin med home-brew

  4. Hur man väljer alla poster från tabellen förutom de senaste 100