sql >> Base de Datos >  >> Database Tools >> phpMyAdmin

¿Cómo funciona la función de exportación de phpMyAdmin?

Puede consultar el código fuente de phpMyAdmin (una ventaja del software de código abierto). Verifique el script export.php y las funciones de soporte en el archivo de script library/export/sql.php.

En resumen, lo que hace phpMyAdmin es:

  • obtener una lista de las tablas en la base de datos dada (MOSTRAR TABLAS DE...),
  • obtener la consulta de creación para cada tabla (MOSTRAR CREAR TABLA...),
  • analizarlo y extraer definiciones de columna de él,
  • obtener todos los datos (SELECCIONAR * DE...)
  • construya una consulta de acuerdo con los datos de la columna.

He escrito un código similar para mis propias aplicaciones (para fines de respaldo, cuando la licencia GPL de phpMyAdmin no me permite usarlo), sin embargo, uso DESCRIBE para obtener definiciones de columna. Creo que prefieren analizar la salida SHOW CREATE TABLE porque contiene más información que la salida DESCRIBE.

Esta forma de generar sentencias SQL requiere un poco de cuidado para manejar el escape, pero permite cierta flexibilidad, ya que puede convertir tipos, filtrar o desinfectar datos, etc. También es mucho más lento que usar una herramienta como mysqldump y debería tenga cuidado de no consumir toda la memoria disponible (escriba pronto, escriba a menudo, no guarde todo en la memoria).

Si implementará un proceso de migración (de servidor a servidor), tal vez sería más fácil hacerlo con algunos scripts de shell y llamando a mysqldump directamente, a menos que haga todo con PHP.