功能需求
备份一张表,备份表名带时间戳进行备份,比如备份表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;