Comment exporter le résultat d'une requête MySQL en utilisant phpMyAdmin 3.4.3?

32
  1. J'ai une table de rangée de 30K
  2. Lorsque j'exécute une requête longue de 50 lignes sur cette table, une fonction GROUP réduit le nombre de lignes à 7 Ko.
  3. Je souhaite exporter les lignes groupées de 7 Ko sous forme de nouvelle table ou les enregistrer sous forme de fichier CSV

Lorsque j'essaie d'exporter, au lieu d'obtenir les 7 000 lignes groupées, je récupère les anciennes 30K lignes précédant la requête. Qu'est-ce que je fais de mal et que devrais-je faire?

NOTE: Je ne suis pas un codeur, alors j'apprécierais vraiment une solution utilisant uniquement l'interface graphique de phpMyAdmin.

grain de raisin
la source
Il serait très utile de fournir les requêtes SQL créées et utilisées par phpMyAdmin.
Bob Ortiz

Réponses:

52
  1. Exécutez votre requête SQL dans l'onglet SQL de phpMyAdmin.

  2. Après exécution, faites défiler la page et recherchez «Opérations sur les résultats de la requête».

  3. Cliquez sur le lien «Exporter» ci-dessus et vous obtiendrez la page pour exporter tous les résultats des requêtes au format souhaité. C'est ça.

Kartik
la source
Très simple, je ne sais pas pourquoi je ne l'ai pas vu là-bas dans le passé!
Nicholas Decker
2
Choisissez "Exporter" dans "Opérations des résultats de la requête" pour afficher tous les enregistrements de la table plutôt que le résultat de la requête. Y a-t-il autre chose à sélectionner?
Web_Developer
13

Au lieu du bouton d'exportation en haut de l'interface graphique, utilisez celui du bas, dans la zone "Opérations des résultats de la requête". C'est celui que tu veux.

Bouton d'exportation

Sudipta Chatterjee
la source
J'avais téléchargé une photo ici aussi - je me demande où elle est allée. PS - si cela résout votre problème, veuillez le marquer comme la bonne réponse.
Sudipta Chatterjee
1
Merci! Dans l'interface actuelle, il y a encore un autre bouton "d'exportation" incorrect, juste à propos de la boîte "Opérations des résultats de la requête". La capture d'écran est utile.
octern
3

Vous avez déjà la requête? Vous pouvez insérer dans une nouvelle table en utilisant les résultats d'une autre requête

On dirait les étapes dont vous avez besoin:

  1. Créez la nouvelle table avec toutes les colonnes.
  2. INSERT INTO newTable (field1, field2, field3) SELECT field1, field2, field3 FROM otherTable GROUP BY field1

Ajustez pour votre requête de 50 lignes.

Reece45
la source
Laissez-moi voir si je comprends ... (1) créez newtable (2) oldtable a environ 60 colonnes, et toutes sont utilisées, donc ... INSERT INTO newtable * SELECT * de oldtable (3) puis-je placer votre INSERT INTO code à la fin de ma requête existante?
raisin
Vous mettez le INSERT INTO avant votre requête. Cela fonctionne comme un INSERT normal, sauf qu'au lieu de fournir "VALUES (rowColumn1, rowColumn2, rowColumn3)", vous fournissez les résultats du SELECT.
Reece45
3

Sur certaines requêtes, ce n'est pas possible de manière directe.

Vous devez écrire le résultat de la requête dans une table à l'aide de la create table assyntaxe . Vous pouvez ensuite suivre les instructions d'exportation habituelles: https://serverfault.com/a/300342/256884

Révieux
la source
1
Si votre requête renvoie un grand nombre d'enregistrements (plusieurs pages), c'est la seule solution.
Nicholas Pickering