Como exportar o resultado de uma consulta MySQL usando o phpMyAdmin 3.4.3?

32
  1. Eu tenho uma tabela de 30K linhas
  2. Quando executo uma consulta longa de 50 linhas nessa tabela, uma função GROUP reduz o número de linhas para 7K
  3. Desejo exportar as 7K linhas agrupadas como uma nova tabela ou salvá-las como um CSV

Quando tento exportar, em vez de obter as 7K linhas agrupadas, recebo as antigas 30K linhas de pré-consulta. O que estou fazendo de errado e o que devo fazer?

NOTA: Eu não sou um codificador, então eu realmente aprecio uma solução que apenas use a GUI do phpMyAdmin.

uva
fonte
Seria muito útil fornecer as consultas SQL que o phpMyAdmin criou e usou.
Bob Ortiz

Respostas:

52
  1. Execute sua consulta sql na guia SQL do phpMyAdmin.

  2. Após a execução, role a página e procure "Operações de resultados da consulta"

  3. Clique no link "Exportar" acima e você receberá a página para exportar todos os resultados das consultas para o formato desejado. É isso aí.

Kartik
fonte
Muito simples, não sei por que eu não vi isso lá no passado!
Nicholas Decker
2
Escolheu "Exportar" em "Operações de resultados de consulta" e mostra todos os registros da tabela em vez do resultado da consulta. Há mais alguma coisa a ser selecionada?
Web_Developer 15/09/19
12

Em vez do botão de exportação na parte superior da GUI, use o botão inferior, dentro da caixa "Operações de resultados da consulta". Esse é o que você quer.

Botão Exportar

Sudipta Chatterjee
fonte
Eu tinha carregado uma foto aqui também - me pergunto para onde foi. PS - se isso resolveu o seu problema, marque-o como a resposta correta.
Sudipta Chatterjee
1
Obrigado! Na interface atual, há ainda outro botão "exportar" incorreto, exatamente na caixa "operações de resultados da consulta". A captura de tela é útil.
Oct
3

Você já tem a consulta? Você pode inserir em uma nova tabela usando os resultados de outra consulta

Parece com as etapas necessárias:

  1. Crie a nova tabela com todas as colunas.
  2. INSERT INTO newTable (field1, field2, field3) SELECT field1, field2, field3 FROM otherTable GROUP BY field1

Ajuste para sua consulta de 50 linhas.

Reece45
fonte
Obrigado, deixe-me ver se eu entendo ... (1) criar nova tabela (2) tabela antiga possui cerca de 60 colunas e todas estão sendo usadas, então ... INSERIR NA tabela nova * SELECT * da tabela antiga (3) INSERT INTO no final da minha consulta existente?
uva
Você coloca o INSERT INTO antes da sua consulta. Funciona como um INSERT normal, exceto em vez de fornecer "VALUES (rowColumn1, rowColumn2, rowColumn3)", você está fornecendo os resultados do SELECT.
precisa saber é o seguinte
3

Em algumas consultas, não é possível de maneira direta.

Você deve gravar o resultado da consulta em uma tabela através da create table assintaxe E, em seguida, pode seguir as instruções normais de exportação: https://serverfault.com/a/300342/256884

Revious
fonte
1
Se sua consulta retornar um grande número de registros (muitas páginas), esta é a única solução.
Nicholas Pickering