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

createh55个月前 (02-01)技术教程37

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

首先说下设计思路:因为需求比较简单,打算用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;

相关文章

Hutool Java工具类库导出Excel,超级简单

作者:程序猿的内心独白原文链接:http://suo.im/5Zxx2L前言在开发应用系统的时候,导出文件是必不可放的功能。以前用过POI、easyexcel等工具的导入导出功能,但总感觉太麻烦了,代...

java大牛告诉你这样导出excel更加简单高效

1.简述在java开发项目,我们经常会遇到将数据导出到Excel表格的需求 ,比较流行的使用POI、EasyExcel等。Apache POI是一个Java API,用于处理Microsoft Off...

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

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

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

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

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

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

SpringBoot 实现 Excel 导入导出,性能爆表,用起来够优雅

操作Excel实现导入导出是个非常常见的需求,之前介绍了一款非常好用的工具EasyPoi。有读者提出在数据量大的情况下,EasyPoi占用内存大,性能不够好。今天给大家推荐一款性能更好的Excel导入...