Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да запишете резултат от MySQL заявка в .CSV файл

Можете да запишете резултат от заявка в .CSV файл, като използвате SELECT ... INTO OUTFILE изявление.

Вие задавате името/местоположението на файла, както и други опции, като терминатори на полета, терминатори на редове и т.н.

Ето един основен пример.

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

Това избира всички колони от Клиенти таблица и ги поставя в .CSV файл, наречен customers.csv в /tmp директория.

Допълнителни екстри

Можете да посочите как се прекратяват полета и редове, като използвате FIELDS TERMINATED и LINES TERMINATED клаузи.

Можете също да посочите знаците, които да обграждат всяка стойност, като използвате ENCLOSED BY клауза.

И можете да използвате FIELDS ESCAPED BY клауза за контролиране на писането на специални символи.

Ето заявката отново, този път с помощта на някои от тези допълнителни клаузи:

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

Добавяне на заглавки

Предишните примери ще генерират .CSV файл с резултатите от заявката, но не и с имената на колоните. Това означава, че .CSV файлът няма да има заглавки на първия ред.

За да включите имената на колоните (така че .CSV файлът съдържа заглавки на първия ред), можете да ги кодирате твърди в друг SELECT оператор, добавен към останалата част от заявката от UNION ALL оператор.

Ето пример за друга (малко по-сложна) заявка. В този пример добавяме заглавки на колони към .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';

Използване на GUI на MySQL Workbench

Можете също да използвате GUI на MySQL Workbench, за да експортирате резултатите от заявка.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Прекомерна MySQL активност

  2. Научете как да архивирате вашата MySQL база данни

  3. mysqli::query():Не можах да извлечем mysqli

  4. Как да покажа съпоставянето на сървъра в MySQL

  5. MySQL данни - Най-добрият начин за прилагане на пейджинг?