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

Come funziona la funzione di esportazione di phpMyAdmin?

Puoi controllare il codice sorgente di phpMyAdmin (un vantaggio del software open source). Controlla lo script export.php e le funzioni di supporto nel file di script librerie/export/sql.php.

In sintesi, ciò che fa phpMyAdmin è:

  • ottenere un elenco delle tabelle nel database specificato (MOSTRA TABELLE DA...),
  • ottenere la query di creazione per ogni tabella (SHOW CREATE TABLE...),
  • Analizzalo ed estrai da esso le definizioni di colonna,
  • ottieni tutti i dati (SELECT * FROM...)
  • crea una query in base ai dati della colonna.

Ho scritto un codice simile per le mie app (a scopo di backup, quando la licenza GPL di phpMyAdmin non mi consente di usarlo), tuttavia utilizzo DESCRIBE per ottenere le definizioni delle colonne. Penso che piuttosto analizzino l'output SHOW CREATE TABLE perché contiene più informazioni rispetto all'output DESCRIBE.

Questo modo per generare frasi SQL richiede un po' di attenzione per gestire l'escape, ma consente una certa flessibilità, poiché puoi convertire tipi, filtrare o disinfettare i dati, ecc. È anche molto più lento rispetto all'utilizzo di uno strumento come mysqldump e dovresti fai attenzione a non consumare tutta la memoria disponibile (scrivi presto, scrivi spesso, non tenere tutto in memoria).

Se implementerai un processo di migrazione (da server a server) forse sarebbe più facile farlo con alcuni script di shell e chiamando direttamente mysqldump, a meno che tu non faccia tutto con PHP.