Sie können ein Abfrageergebnis in einer .CSV-Datei speichern, indem Sie SELECT ... INTO OUTFILE
verwenden Aussage.
Sie geben den Namen/Speicherort der Datei sowie andere Optionen wie Feldabschlusszeichen, Zeilenabschlusszeichen usw. an.
Hier ist ein einfaches Beispiel.
SELECT * FROM Customers INTO OUTFILE '/tmp/customers.csv';
Dadurch werden alle Spalten der Kunden ausgewählt Tabelle und fügt sie in eine CSV-Datei mit dem Namen customers.csv ein im Verzeichnis /tmp Verzeichnis.
Optionale Extras
Sie können angeben, wie Felder und Zeilen beendet werden, indem Sie den FIELDS TERMINATED
verwenden und LINES TERMINATED
Klauseln.
Sie können auch die Zeichen angeben, die jeden Wert einschließen sollen, indem Sie ENCLOSED BY
verwenden Klausel.
Und Sie können die FIELDS ESCAPED BY
verwenden -Klausel, um zu steuern, wie Sonderzeichen geschrieben werden.
Hier ist noch einmal die Abfrage, diesmal mit einigen dieser zusätzlichen Klauseln:
SELECT * FROM Customers INTO OUTFILE '/tmp/customers.csv' FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n';
Kopfzeilen hinzufügen
Die vorherigen Beispiele generieren eine .CSV-Datei mit den Ergebnissen der Abfrage, aber nicht mit den Spaltennamen. Das bedeutet, dass die .CSV-Datei in der ersten Zeile keine Kopfzeilen enthält.
Um die Spaltennamen einzuschließen (damit die .CSV-Datei Kopfzeilen in der ersten Zeile enthält), können Sie sie in einem weiteren SELECT
fest codieren -Anweisung, die dem Rest der Abfrage durch ein UNION ALL
vorangestellt wird Betreiber.
Hier ist ein Beispiel für eine andere (etwas komplexere) Abfrage. In diesem Beispiel fügen wir der CSV-Datei Spaltenüberschriften hinzu:
/* Add column headers */ SELECT 'OrderId','CustomerID','EmployeeID','OrderDate','RequiredDate','ShippedDate','ShipVia','Freight','ShipName','ShipAddress','ShipCity','ShipRegion','ShipPostalCode','ShipCountry','OrderID','ProductId','UnitPrice','Quantity','Discount' UNION ALL /* Now the actual query */ SELECT o.OrderId, o.CustomerID, o.EmployeeID, o.OrderDate, o.RequiredDate, o.ShippedDate, o.ShipVia, o.Freight, o.ShipName, o.ShipAddress, o.ShipCity, o.ShipRegion, o.ShipPostalCode, o.ShipCountry, od.OrderID, od.ProductId, od.UnitPrice, od.Quantity, od.Discount FROM `Orders` o LEFT JOIN `Order Details` od ON od.OrderID = o.OrderID /* Save the query results to a file */ INTO OUTFILE '/tmp/orders.csv' FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n';
Verwendung der MySQL Workbench-GUI
Sie können auch die MySQL Workbench-GUI verwenden, um die Ergebnisse einer Abfrage zu exportieren.