功能需求
备份一张表,备份表名带时间戳进行备份,比如备份表A,则备份表为A_20220419120059,具体需求可自行尝试
实现思路
主要使用到mysql中的
DATE_FORMAT函数:将系统时间格式化;
CONCAT函数:拼接需要执行的SQL语句;
SET ... PREPARE ... EXECUTE ...块功能:执行定义好的SQL语句;
-- 查询时间戳
SELECT DATE_FORMAT(SYSDATE(),'%Y%m%d%h%m%s') from dual;
-- 组装备份表的sql语句,使用CONCAT拼接需要执行的sql,备份表名为xxx_yyyyMMddHHmmSS
-- create table xxx_yyyyMMddHHmmSS select * from xxx;
SET @bak_name = CONCAT('create table folder_',DATE_FORMAT(SYSDATE(),'%Y%m%d%h%m%s'), ' select * from folder');
PREPARE stmt1 FROM @bak_name;
EXECUTE stmt1;
本文介绍了如何使用MySQL的DATE_FORMAT和CONCAT函数,结合SET...PREPARE...EXECUTE...语句,来创建带有时间戳的表备份。通过设置SQL语句动态生成备份表名,确保每次备份都带有当前时间,从而实现自动备份功能。
174万+

被折叠的 条评论
为什么被折叠?



