Puoi salvare il risultato di una query in un file .CSV utilizzando SELECT ... INTO OUTFILE
dichiarazione.
Specificare il nome/la posizione del file e altre opzioni, come terminazioni di campo, terminazioni di riga e così via.
Ecco un esempio di base.
SELECT * FROM Customers INTO OUTFILE '/tmp/customers.csv';
Questo seleziona tutte le colonne da Clienti table e li inserisce in un file .CSV chiamato customers.csv in /tmp directory.
Extra opzionali
Puoi specificare come terminare campi e righe utilizzando FIELDS TERMINATED
e LINES TERMINATED
clausole.
Puoi anche specificare i caratteri per racchiudere ciascun valore utilizzando il ENCLOSED BY
clausola.
E puoi utilizzare FIELDS ESCAPED BY
clausola per controllare come scrivere caratteri speciali.
Ecco di nuovo la query, questa volta utilizzando alcune di queste clausole extra:
SELECT * FROM Customers INTO OUTFILE '/tmp/customers.csv' FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n';
Aggiunta di intestazioni
Gli esempi precedenti genereranno un file .CSV con i risultati della query, ma non con i nomi delle colonne. Ciò significa che il file .CSV non avrà intestazioni sulla prima riga.
Per includere i nomi delle colonne (in modo che il file .CSV contenga le intestazioni sulla prima riga), puoi codificarli in un altro SELECT
istruzione, anteposta al resto della query da un UNION ALL
operatore.
Ecco un esempio di un'altra query (leggermente più complessa). In questo esempio, aggiungiamo le intestazioni di colonna al file .CSV:
/* 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';
Utilizzo della GUI di MySQL Workbench
Puoi anche utilizzare la GUI di MySQL Workbench per esportare i risultati di una query.