Výsledek dotazu můžete uložit do souboru .CSV pomocí SELECT ... INTO OUTFILE
prohlášení.
Zadáte název/umístění souboru a také další možnosti, jako jsou zakončení polí, zakončení řádků atd.
Zde je základní příklad.
SELECT * FROM Customers INTO OUTFILE '/tmp/customers.csv';
Tím se vyberou všechny sloupce z Zákazníci tabulky a vloží je do souboru CSV s názvem customers.csv v /tmp adresář.
Volitelné doplňky
Způsob ukončení polí a řádků můžete určit pomocí FIELDS TERMINATED
a LINES TERMINATED
klauzule.
Můžete také zadat znaky pro uzavření každé hodnoty pomocí ENCLOSED BY
doložka.
A můžete použít FIELDS ESCAPED BY
klauzule k ovládání způsobu psaní speciálních znaků.
Zde je dotaz znovu, tentokrát s použitím některých dalších klauzulí:
SELECT * FROM Customers INTO OUTFILE '/tmp/customers.csv' FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n';
Přidání záhlaví
Předchozí příklady vygenerují soubor .CSV s výsledky dotazu, ale ne s názvy sloupců. To znamená, že soubor .CSV nebude mít na prvním řádku záhlaví.
Chcete-li zahrnout názvy sloupců (aby soubor .CSV obsahoval záhlaví na prvním řádku), můžete je napevno zakódovat do jiného SELECT
před zbytek dotazu předřazený příkazem UNION ALL
operátor.
Zde je příklad jiného (trochu složitějšího) dotazu. V tomto příkladu přidáme záhlaví sloupců do souboru 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';
Použití grafického uživatelského rozhraní MySQL Workbench
K exportu výsledků dotazu můžete také použít grafické uživatelské rozhraní MySQL Workbench.