Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Cách lưu kết quả truy vấn MySQL vào tệp .CSV

Bạn có thể lưu kết quả truy vấn vào tệp .CSV bằng cách sử dụng SELECT ... INTO OUTFILE tuyên bố.

Bạn chỉ định tên / vị trí của tệp cũng như các tùy chọn khác, chẳng hạn như dấu kết thúc trường, dấu kết thúc dòng, v.v.

Đây là một ví dụ cơ bản.

 CHỌN * TỪ Khách hàngINTO OUTFILE '/tmp/customers.csv'; 

Thao tác này sẽ chọn tất cả các cột từ Khách hàng bảng và đưa chúng vào một tệp .CSV có tên là customer.csv trong / tmp thư mục.

Tùy chọn bổ sung

Bạn có thể chỉ định cách các trường và dòng được kết thúc bằng cách sử dụng FIELDS TERMINATEDLINES TERMINATED mệnh đề.

Bạn cũng có thể chỉ định các ký tự để bao quanh mỗi giá trị bằng cách sử dụng ENCLOSED BY mệnh đề.

Và bạn có thể sử dụng FIELDS ESCAPED BY mệnh đề kiểm soát cách viết các ký tự đặc biệt.

Đây là truy vấn một lần nữa, lần này sử dụng một số mệnh đề bổ sung đó:

 CHỌN * TỪ KHÁCH HÀNGINTO OUTFILE '/tmp/customers.csv' 

Thêm tiêu đề

Các ví dụ trước sẽ tạo tệp .CSV với kết quả của truy vấn, nhưng không có tên cột. Điều này có nghĩa là tệp .CSV sẽ không có tiêu đề trên dòng đầu tiên.

Để bao gồm tên cột (để tệp .CSV chứa tiêu đề trên dòng đầu tiên), bạn có thể mã hóa chúng trong một SELECT khác , được thêm vào phần còn lại của truy vấn bởi một UNION ALL nhà điều hành.

Dưới đây là một ví dụ về một truy vấn khác (phức tạp hơn một chút). Trong ví dụ này, chúng tôi thêm tiêu đề cột vào tệp .CSV:

 / * Thêm tiêu đề cột * / CHỌN 'OrderId', 'CustomerID', 'EmployeeID', 'OrderDate', 'RequiredDate', 'ShippedDate', 'ShipVia', 'Freight', 'ShipName', 'ShipAddress' , 'ShipCity', 'ShipRegion', 'ShipPostalCode', 'ShipCountry', 'OrderID', 'ProductId', 'UnitPrice', 'Số lượng', 'Giảm giá' TẤT CẢ / * Bây giờ là truy vấn thực tế * / SELECT o.OrderId , o.CustomerID, o.ErantyeeID, 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 TỪ `Đơn đặt hàng` o LEFT JOIN` Order Details` od ON od.OrderID =o.OrderID / * Lưu kết quả truy vấn vào a tệp * / INTO OUTFILE '/tmp/orders.csv'FIELDS ĐƯỢC CHẤM DỨT BỞI', 'ĐƯỢC CHỨNG MINH BỞI' "" CÁC DÒNG ĐƯỢC CHẤM DỨT BỞI '\ n'; 

Sử dụng MySQL Workbench GUI

Bạn cũng có thể sử dụng MySQL Workbench GUI để xuất kết quả của một truy vấn.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách tính Tổng tích lũy trong MySQL

  2. Tạo bản sao lưu vật lý của Cơ sở dữ liệu MariaDB hoặc MySQL của bạn

  3. Đá quý mysql2 được biên dịch cho thư viện máy khách mysql sai

  4. Cách tạo bảng trong MySQL

  5. Nhận các bản ghi có giá trị tối đa cho từng nhóm kết quả SQL được nhóm lại