Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak zapisać wynik zapytania MySQL w pliku .CSV?

Możesz zapisać wynik zapytania w pliku .CSV, używając SELECT ... INTO OUTFILE oświadczenie.

Określasz nazwę/lokalizację pliku, a także inne opcje, takie jak terminatory pól, terminatory linii itp.

Oto podstawowy przykład.

SELECT * FROM Customers
INTO OUTFILE '/tmp/customers.csv';

Spowoduje to wybranie wszystkich kolumn z listy Klienci tabeli i umieszcza je w pliku .CSV o nazwie customers.csv w /tmp katalog.

Opcjonalne dodatki

Możesz określić sposób kończenia pól i wierszy za pomocą FIELDS TERMINATED i LINES TERMINATED klauzule.

Możesz również określić znaki, które mają zawierać każdą wartość, używając ENCLOSED BY klauzula.

Możesz też skorzystać z FIELDS ESCAPED BY klauzula kontrolująca sposób pisania znaków specjalnych.

Oto zapytanie ponownie, tym razem z wykorzystaniem niektórych z tych dodatkowych klauzul:

SELECT * FROM Customers
INTO OUTFILE '/tmp/customers.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n';

Dodawanie nagłówków

Poprzednie przykłady wygenerują plik .CSV z wynikami zapytania, ale nie z nazwami kolumn. Oznacza to, że plik .CSV nie będzie miał nagłówków w pierwszym wierszu.

Aby uwzględnić nazwy kolumn (tak, aby plik .CSV zawierał nagłówki w pierwszym wierszu), możesz je na stałe zakodować w innym SELECT oświadczenie, poprzedzone resztą zapytania przez UNION ALL operatora.

Oto przykład innego (nieco bardziej złożonego) zapytania. W tym przykładzie dodajemy nagłówki kolumn do pliku .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';

Korzystanie z GUI MySQL Workbench

Możesz także użyć GUI MySQL Workbench, aby wyeksportować wyniki zapytania.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Użyj relacyjnych baz danych MySQL w Fedorze 14

  2. Jak wyłączyć tryb ścisły MySQL?

  3. Jak upewnić się, że Twoja baza danych MySQL jest zabezpieczona?

  4. SCHEMA() Funkcja w MySQL

  5. Proste rozwiązywanie problemów z logowaniem PHP SQL