Anda dapat menyimpan hasil kueri ke file .CSV dengan menggunakan SELECT ... INTO OUTFILE
pernyataan.
Anda menentukan nama/lokasi file serta opsi lain, seperti terminator bidang, terminator baris, dll.
Berikut ini contoh dasarnya.
SELECT * FROM Customers INTO OUTFILE '/tmp/customers.csv';
Ini memilih semua kolom dari Pelanggan tabel dan memasukkannya ke dalam file .CSV bernama customers.csv di /tmp direktori.
Ekstra Opsional
Anda dapat menentukan bagaimana kolom dan baris diakhiri dengan menggunakan FIELDS TERMINATED
dan LINES TERMINATED
klausa.
Anda juga dapat menentukan karakter untuk menyertakan setiap nilai dengan menggunakan ENCLOSED BY
klausa.
Dan Anda dapat menggunakan FIELDS ESCAPED BY
klausa untuk mengontrol cara menulis karakter khusus.
Berikut kuerinya lagi, kali ini menggunakan beberapa klausa tambahan tersebut:
SELECT * FROM Customers INTO OUTFILE '/tmp/customers.csv' FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n';
Menambahkan Header
Contoh sebelumnya akan menghasilkan file .CSV dengan hasil kueri, tetapi tidak dengan nama kolom. Ini berarti file .CSV tidak akan memiliki header di baris pertama.
Untuk menyertakan nama kolom (sehingga file .CSV berisi header pada baris pertama), Anda dapat membuat hardcode di SELECT
lain pernyataan, didahului dengan sisa kueri dengan UNION ALL
operator.
Berikut adalah contoh kueri lain (sedikit lebih kompleks). Dalam contoh ini, kami menambahkan header kolom ke 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';
Menggunakan GUI MySQL Workbench
Anda juga dapat menggunakan GUI MySQL Workbench untuk mengekspor hasil kueri.