phpMyAdmin
 sql >> Base de Dados >  >> Database Tools >> phpMyAdmin

Como funciona o recurso de exportação do phpMyAdmin?


Você pode verificar o código-fonte do phpMyAdmin (uma vantagem do software de código aberto). Verifique o script export.php e as funções de suporte no arquivo de script library/export/sql.php.

Em resumo, o que o phpMyAdmin faz é:
  • obter uma lista das tabelas no banco de dados fornecido (SHOW TABLES FROM...),
  • obtenha a consulta de criação para cada tabela (SHOW CREATE TABLE...),
  • analisá-lo e extrair definições de coluna dele,
  • obter todos os dados (SELECT * FROM...)
  • crie uma consulta de acordo com os dados da coluna.

Eu escrevi código semelhante para meus próprios aplicativos (para fins de backup, quando a licença GPL do phpMyAdmin não me permite usá-lo), porém eu uso DESCRIBE para obter definições de coluna. Eu acho que eles preferem analisar a saída SHOW CREATE TABLE porque contém mais informações do que a saída DESCRIBE.

Esta forma de gerar sentenças SQL requer um pouco de cuidado para lidar com o escape, mas permite alguma flexibilidade, pois você pode converter tipos, filtrar ou sanitizar dados, etc. Também é muito mais lento do que usar uma ferramenta como mysqldump e você deve tome cuidado para não consumir toda a memória disponível (escreva logo, escreva com frequência, não guarde tudo na memória).

Se você implementar um processo de migração (de servidor para servidor), talvez seja mais fácil fazê-lo com algum script de shell e chamar mysqldump diretamente, a menos que você faça tudo com PHP.