Wie exportiere ich das Ergebnis einer MySQL-Abfrage mit phpMyAdmin 3.4.3?

32
  1. Ich habe eine 30K-Zeilentabelle
  2. Wenn ich eine lange Abfrage mit 50 Zeilen für diese Tabelle ausführe, reduziert eine GROUP-Funktion die Anzahl der Zeilen auf 7 KB
  3. Ich möchte die gruppierten 7K-Zeilen als neue Tabelle exportieren oder als CSV speichern

Wenn ich zu exportieren versuche, erhalte ich anstelle der gruppierten 7-KByte-Zeilen die alten 30-KByte-Zeilen, die vorab abgefragt wurden. Was mache ich falsch und was soll ich tun?

HINWEIS: Ich bin kein Programmierer, daher würde ich eine Lösung begrüßen, die nur die phpMyAdmin-GUI verwendet.

Traube
quelle
Es wäre sehr hilfreich, die von phpMyAdmin erstellten und verwendeten SQL-Abfragen bereitzustellen.
Bob Ortiz

Antworten:

52
  1. Führen Sie Ihre SQL-Abfrage in der SQL-Registerkarte von phpMyAdmin aus.

  2. Scrollen Sie nach der Ausführung auf der Seite nach unten und suchen Sie nach "Abfrageergebnisoperationen".

  3. Klicken Sie oben auf den Link „Exportieren“, und Sie erhalten die Seite, auf der alle Ergebnisse der Abfragen in das gewünschte Format exportiert werden. Das ist es.

Kartik
quelle
Ganz einfach, ich weiß nicht, warum ich es dort in der Vergangenheit nicht gesehen habe!
Nicholas Decker
2
Wählen Sie "Exportieren" aus "Abfrageergebnisoperationen" und es werden alle Datensätze aus der Tabelle und nicht das Abfrageergebnis angezeigt. Muss noch etwas ausgewählt werden?
Web_Developer
12

Verwenden Sie anstelle der Exportschaltfläche oben in der Benutzeroberfläche die Schaltfläche unten im Feld "Abfrageergebnisse bearbeiten". Das ist das, was du willst.

Schaltfläche "Exportieren"

Sudipta Chatterjee
quelle
Ich hatte auch hier ein Bild hochgeladen - frage mich, wo es hingegangen ist. PS - wenn dies Ihr Problem gelöst hat, markieren Sie es bitte als die richtige Antwort.
Sudipta Chatterjee
1
Vielen Dank! In der aktuellen Benutzeroberfläche befindet sich noch eine andere falsche Schaltfläche "Exportieren" direkt über dem Feld "Abfrageergebnisoperationen". Der Screenshot ist hilfreich.
7.
3

Sie haben bereits eine Anfrage? Sie können die Ergebnisse einer anderen Abfrage in eine neue Tabelle einfügen

Sieht aus wie die Schritte, die Sie brauchen:

  1. Erstellen Sie die neue Tabelle mit allen Spalten.
  2. INSERT INTO newTable (field1, field2, field3) SELECT field1, field2, field3 FROM otherTable GROUP BY field1

Passen Sie für Ihre 50-Zeilen-Abfrage.

Reece45
quelle
Danke! Lass mich sehen, ob ich verstehe ... (1) erstelle Newtable (2) Oldtable hat ungefähr 60 Spalten und alle werden verwendet, also ... INSERT IN Newtable * SELECT * aus Oldtable (3) platziere ich deine INSERT INTO Code am Ende meiner bestehenden Abfrage?
Traube
Sie setzen das INSERT INTO vor Ihrer Abfrage. Es funktioniert genau wie ein normales INSERT, außer dass Sie statt "VALUES (rowColumn1, rowColumn2, rowColumn3)" die Ergebnisse von SELECT angeben.
Reece45
3

Bei einigen Abfragen ist dies nicht direkt möglich.

Sie müssen das Abfrageergebnis über die create table asSyntax in eine Tabelle schreiben. Befolgen Sie dann die normalen Exportanweisungen: https://serverfault.com/a/300342/256884

Revious
quelle
1
Wenn Ihre Abfrage eine große Anzahl von Datensätzen (viele Seiten) zurückgibt, ist dies die einzige Lösung.
Nicholas Pickering