php - 使用 SELECT 查询将大型表导出到客户端计算机

标签 php mysql

我有一个包含超过一百万行的表。我通常用来创建导出到 csv 的用户界面的带有标题和 ajax 的 PHP 导出脚本无法处理这么多行并超时。因此寻找替代方案

经过几天的挖掘,我从互联网上整理了以下脚本,下载效果非常好,但只能下载到本地服务器> mysql文件夹

我正在寻找的是创建一个 php mysql 脚本,这样我就可以让用户通过 php 用户界面本身将大型表下载到 csv

SELECT 'a', 'b', 'c' UNION ALL SELECT a,b,c INTO OUTFILE '2026.csv' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n' FROM table ;

最佳答案

您需要从数据库中获取分页结果。

从 LIMIT 0,100 中选择 *;您必须将此查询的结果放入变量中,然后像这样解析它:

Export to CSV via PHP

将前 100 个元素放入 csv 后,您必须获取 100 到 200 个元素,依此类推...然后重新打开 csv 并放入 100 到 200 个元素,依此类推。

最后将 csv 发送给用户。

关于php - 使用 SELECT 查询将大型表导出到客户端计算机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53978351/

相关文章:

mysql - 如何根据约束确定列中值的计数?

java - 将 MySQL json 列映射到 JPA 会引发错误

php - 如何创建带预览的图像 uploader

php - 如何在mysql中对选定结果使用where条件

javascript - javascript 变量内的 html 和 php

php - header ('Content-Type: image/png' );不工作了?

php - 在PHP中将单个数字分成一组唯一的随机数

mysql - 明确指定 mysql 查询的排序顺序?

MySQL-优化查询

javascript - 无法将获取的数据发送到我的 socket.io 流?