通过mysql outfile 直接快速导出.csv文件,适用于量级很大的导出操作
2017-07-20 17:28
507 查看
直接从数据库中直接导出csv,给你我的源码,供你参考
$t=time();
$filepath= getcwd().'/';
$filename=$t.'.csv';
$where='1=1';
$sql="SELECT
field1,
filed2,
filed3
FROM
db.表头表
UNION ALL
SELECT
field1,
filed2,
filed3
FROM
db.数据表
WHERE
$where INTO OUTFILE '$filepath$filename' CHARACTER
SET gbk FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"' ESCAPED BY '\"' LINES TERMINATED BY '\\r\\n' ";";
$query = DB::query($sql);
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename=业务日志.csv');
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-Length: ' . filesize($filepath.$filename));
readfile($filepath.$filename);
unlink($filepath.$filename);
$t=time();
$filepath= getcwd().'/';
$filename=$t.'.csv';
$where='1=1';
$sql="SELECT
field1,
filed2,
filed3
FROM
db.表头表
UNION ALL
SELECT
field1,
filed2,
filed3
FROM
db.数据表
WHERE
$where INTO OUTFILE '$filepath$filename' CHARACTER
SET gbk FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"' ESCAPED BY '\"' LINES TERMINATED BY '\\r\\n' ";";
$query = DB::query($sql);
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename=业务日志.csv');
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-Length: ' . filesize($filepath.$filename));
readfile($filepath.$filename);
unlink($filepath.$filename);
相关文章推荐
- PHP快速按行读取CSV大文件的封装类分享(也适用于其它超大文本文件)
- PHP快速按行读取CSV大文件的封装类分享(也适用于其它超大文本文件)
- Magcodes.WeiChat——通过CsvFileResult以及DataAnnotations实现导出CSV文件
- 数据写入到csv文件或者通过浏览器导出到下载文件
- spring mvc 通过流直接导出文本格式(excle,csv类似)
- 以流的形式直接导出 csv文件
- PHP快速按行读取CSV大文件的封装类分享(也适用于其它超大文本文件)
- java实现CSV文件的导入导出操作
- 直接将数据导出到Excel文件,直接操作文件没有使用Variant
- php 快速导出大量CSV文件
- 练习2-1 编写一个程序一确定分别由signed及unsigned限定的char,short,int及long类型变量的取值范围。采用打印标准头文件中的相应值以及直接计算两种方式实现。通过直接计算来确定浮点类型的取值范围是一项难度很大的任务。
- JAVA操作csv文件(导入导出)
- 通过Java直接对Excel文件进行操作
- Django 一个简单的图书管理程序(六 添加CSV文件导入导出操作)
- 通过eclipse卸载系统应用、文件的导出导入操作以及elcipse操作常见问题分析
- Oracle数据库表导出和导入csv文件操作
- oracle数据库表导出和导入csv文件操作
- 直接客户端浏览器下载文件,不必通过回传服务器再下载(例如将table内容导出excel)
- 通过文件的方式对硬盘扇区进行直接读写操作
- 数据库直接通过bcp导出xml文件