MYSQL自动导出某表数据到EXCEL的方案

createh53个月前 (02-01)技术教程25

由于特殊要求,客户要求,将数据库中的某些数据,每天指定时间自动导出到指定位置。方便其它业务的使用。

首先说下设计思路:因为需求比较简单,打算用MYSQL数据库的函数+事件功能完成。

首先,定义各一个导出EXCEL的函数,因为本函数需要每24小时重复执行,导出文件就采用年月日时分秒命名,以区分每天的导出记录。

示例代码如下:

BEGIN

-- SET @SqlScript= CONCAT("SELECT * INTO OUTFILE 'C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/", DATE_FORMAT(NOW(), '%Y%m%d%H%i%s'), ".xls' CHARACTER SET gbk FROM `measurement_data_skfer` ;");
-- NEW 增加自定义表头,保存24小时内的数据
SET @SqlScript= CONCAT("SELECT 'ID', '工单号', '设备号', '钢丝', '规格值', '测量值', '结果', '皮带', '规格值', '测量值', '结果','时间' UNION ALL SELECT * FROM `measurement_data_skfer` WHERE Time >=(NOW() - interval 24 hour)
INTO OUTFILE 'C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/", DATE_FORMAT(NOW(), '%Y%m%d%H%i%s'), ".xls' CHARACTER SET gbk ;");

PREPARE Sql_Text FROM @SqlScript;

EXECUTE Sql_Text;

END

然后,定义一个事件,事件的定义代码:

call 函数名

事件定义好计划的规则,样例见下图:


备注:下面为开启MYSQL的事件计划的相关说明资料。

通过下列语句查询event是否开启

show variables like '%sche%';

通过执行下列语句,来开启event_scheduler

set global event_scheduler =1;

还有一种方法开启

set global event_scheduler=on;

相关文章

java将百万级别数据导出到Excel中,用时仅需要98941毫秒

程序员创业记跟大家分享一款Excel组件,之所以分享这款,是因为它在处理excel时很方便,我将百万数据导出到excel,耗时仅不用两分钟。poi概述Apache POI是Apache软件基金会的开放...

盘点三种Excel转SHP文件的方法(附练习数据下载)

概述数据的获取渠道是多种多样的,获取的数据格式也是多种多样,作为一名GISer,需要熟练掌握各种格式的数据之间的转换,例如本文要介绍的Excel格式的数据,经常会遇到,如果需要转换为SHP格式应该怎么...

程序员:超级简单导出Excel 工具,Hutool Java工具类库

前言在开发应用系统的时候,导出文件是必不可放的功能。以前用过POI、easyexcel等工具的导入导出功能,但总感觉太麻烦了,代码特别多,感觉并不是很好用。今天给大家介绍一款新工具,java工具类库H...

java百万千万级别excel导出问题(导出慢和Out Of Memory内存溢出)

目录业务场景原因分析解决思路优化后效果实现代码DEMO业务场景由于很多业务需要导出数据库里的数据,一般我们导出的数据都是要给业务部门看的,他们也会拿到做一些数据统计,所以一般都是给他们导出Excel格...

如何在SpringBoot中实现Excel数据导出功能?

在一些企业级的应用中,对于数据导出成Excel表格的需求是一个非常常见的需求,在SpringBoot中,我们可以借助于Apache POI库来实现这个需求,下面我们就来详细介绍一下如何在Spring...

原来用hutool导入导出Excel这么丝滑!

1. hutool 工具介绍unset这个我就不用过多介绍了,它是一个非常好用的 Java 工具类库。我们在日常工作中用到的工具类,他都有。官网:https://plus.hutool.cn/ uns...