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

Chạy 2 truy vấn sql với 1 truy vấn để lưu kết quả truy vấn ở định dạng .csv

Bạn không muốn nó chạy dưới dạng một truy vấn. Thường tốt hơn nếu có nhiều truy vấn đơn giản nhỏ thay vì một truy vấn phức tạp. Trên thực tế, tôi khuyên bạn nên cập nhật mã của mình để có nhiều truy vấn hơn nữa, chẳng hạn như nội dung của "không tồn tại ()" không nên được thực hiện như một truy vấn con, nó phải là một truy vấn hoàn toàn riêng biệt để cải thiện hiệu suất.

Có hai phần, trước tiên bạn cần gửi tiêu đề HTTP chính xác để kích hoạt tải xuống CSV:

header('Content-type: application/vnd.ms-excel');
header('Content-Disposition: attachment; filename="export.csv";' );

Sau đó, chỉ cần in dữ liệu ở định dạng CSV:

while ($row = mysql_fetch_array($myQuery)) {
  $first = true;
  foreach ($row as $cell) {
    if ($first)
      $first = false;
    else
      print ',';

    print '"' . addslashes($cell) . '"';
  }
  print "\n";
}

Lưu ý:CSV là một định dạng không hợp lệ và điều này sẽ chỉ hoạt động trong một số phiên bản của Microsoft Excel. Tùy thuộc vào nơi người dùng sinh sống (ví dụ:Châu Âu), nó có thể không hoạt động bình thường. Tuy nhiên, đối với hầu hết các phiên bản Excel, cách trên sẽ hoạt động. Không có giải pháp tốt nào ngoại trừ việc tránh sử dụng CSV.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sự khác biệt thực tế giữa `REPLACE` và` INSERT ... ON DUPLICATE KEY UPDATE` trong MySQL là gì?

  2. Tính toán sự khác biệt trên hàng ngày giờ đặt cược giữa các hàng trên cùng một bảng

  3. Truy vấn MySQL để tìm hàng tương tự nhưng không trùng lặp

  4. MYSQL Chuyển đổi dấu thời gian thành Tháng

  5. Lỗi cú pháp:WITH không phải là đầu vào hợp lệ ở vị trí này