¿Cómo exportar el resultado de una consulta MySQL usando phpMyAdmin 3.4.3?

32
  1. Tengo una mesa de 30K filas
  2. Cuando ejecuto una consulta larga de 50 líneas en esa tabla, una función GROUP reduce el número de filas a 7K
  3. Quiero exportar las filas agrupadas de 7K como una nueva tabla, o guardarlas como CSV

Cuando intento exportar, en lugar de obtener las filas agrupadas de 7K, obtengo las antiguas filas de 30K anteriores a la consulta. ¿Qué estoy haciendo mal y qué debo hacer?

NOTA: No soy un programador, por lo que realmente agradecería una solución que acaba de usar la GUI phpMyAdmin.

uva
fuente
Sería muy útil proporcionar las consultas SQL que phpMyAdmin creó y usó.
Bob Ortiz

Respuestas:

52
  1. Ejecute su consulta sql en la pestaña SQL de phpMyAdmin.

  2. Después de la ejecución, desplácese hacia abajo de la página y busque "Operaciones de resultados de consultas"

  3. Haga clic en el enlace "Exportar" de lo anterior y obtendrá la página para exportar todos los resultados de las consultas al formato deseado. Eso es.

Kartik
fuente
Muy simple, ¡no sé por qué no lo he visto allí en el pasado!
Nicholas Decker
2
Seleccionó "Exportar" en "Operaciones de resultados de consultas" y muestra todos los registros de la tabla en lugar del resultado de la consulta. ¿Hay algo más para ser seleccionado?
Web_Developer
13

En lugar del botón de exportación en la parte superior de la GUI, use el que está en la parte inferior, dentro del cuadro "Operaciones de resultados de consultas". Ese es el que quieres.

Botón Exportar

Sudipta Chatterjee
fuente
También había subido una foto aquí, me pregunto dónde fue. PD: si esto resolvió su problema, márquelo como la respuesta correcta.
Sudipta Chatterjee
1
¡Gracias! En la interfaz actual hay otro botón de "exportación" incorrecto, justo sobre el cuadro "operaciones de resultados de consulta". La captura de pantalla es útil.
octern
3

¿Ya tienes la consulta? Puede insertar en una nueva tabla utilizando los resultados de otra consulta

Parece los pasos que necesitas:

  1. Crea la nueva tabla con todas las columnas.
  2. INSERT INTO newTable (field1, field2, field3) SELECT field1, field2, field3 FROM otherTable GROUP BY field1

Ajuste para su consulta de 50 líneas.

Reece45
fuente
¡Gracias! Déjeme ver si entiendo ... (1) crear newtable (2) oldtable tiene aproximadamente 60 columnas, y todas se están utilizando, así que ... INSERTE EN newtable * SELECT * de oldtable (3) coloco su ¿INSERTAR EN el código al final de mi consulta existente?
uva
Pones el INSERT INTO antes de tu consulta. Funciona igual que un INSERT normal, excepto que en lugar de proporcionar "VALUES (rowColumn1, rowColumn2, rowColumn3)", en su lugar, está proporcionando los resultados de SELECT.
Reece45
3

En alguna consulta no es posible de forma directa.

Debe escribir el resultado de la consulta en una tabla a través de la create table assintaxis Y luego puede seguir las instrucciones de exportación normales: https://serverfault.com/a/300342/256884

Revious
fuente
1
Si su consulta devuelve una gran cantidad de registros (muchas páginas), esta es la única solución.
Nicholas Pickering