Mysql event實現定時建表小記
每天凌晨一點建一個第二天的表
DELIMITER //
CREATE PROCEDURE test.create_tab_every_day()
BEGIN
DECLARE `@i` VARCHAR(15);
DECLARE `@sqlstr` VARCHAR(2560);
SET `@i` = DATE_FORMAT(DATE_ADD(NOW(),INTERVAL 1 DAY),'%Y_%m_%d');
SET @sqlstr = CONCAT(
"CREATE TABLE day_tab_",
`@i`,
"(
`prop` VARCHAR(40)
);"
);
PREPARE stmt FROM @sqlstr;
EXECUTE stmt;
END;
CALL test.create_tab_every_day();
/*****DROP PROCEDURE test.create_tab_every_day;*****/
/*****drop table test.day_tab_2015_09_11;*****/
DELIMITER $$
CREATE EVENT event_create_tab_days
ON SCHEDULE EVERY 1 DAY
STARTS '2015-09-10 01:00:00'
ON COMPLETION PRESERVE
ENABLE
DO
BEGIN
CALL test.create_tab_every_day();
END
$$
DELIMITER ;
每月的11號建一張下個月的表
DELIMITER //
CREATE PROCEDURE test.create_tab_every_mon()
BEGIN
DECLARE `@i` VARCHAR(15);
DECLARE `@sqlstr` VARCHAR(2560);
SET `@i` = DATE_FORMAT(DATE_ADD(NOW(),INTERVAL 1 MONTH),'%Y_%m');
SET @sqlstr = CONCAT(
"CREATE TABLE mon_tab_",
`@i`,
"(
`prop` VARCHAR(40)
);"
);
PREPARE stmt FROM @sqlstr;
EXECUTE stmt;
END;
CALL test.create_tab_every_mon();
/*****DROP PROCEDURE test.create_tab_every_mon;*****/
/*****DROP TABLE test.mon_tab_2015_10*****/
DELIMITER $$
CREATE EVENT event_create_tab_mons
ON SCHEDULE EVERY 1 MONTH
STARTS '2015-09-11 01:00:00'
ON COMPLETION PRESERVE
ENABLE
DO
BEGIN
CALL test.create_tab_every_mon();
END
$$
DELIMITER ;
DELIMITER //
CREATE PROCEDURE test.create_tab_every_day()
BEGIN
DECLARE `@i` VARCHAR(15);
DECLARE `@sqlstr` VARCHAR(2560);
SET `@i` = DATE_FORMAT(DATE_ADD(NOW(),INTERVAL 1 DAY),'%Y_%m_%d');
SET @sqlstr = CONCAT(
"CREATE TABLE day_tab_",
`@i`,
"(
`prop` VARCHAR(40)
);"
);
PREPARE stmt FROM @sqlstr;
EXECUTE stmt;
END;
CALL test.create_tab_every_day();
/*****DROP PROCEDURE test.create_tab_every_day;*****/
/*****drop table test.day_tab_2015_09_11;*****/
DELIMITER $$
CREATE EVENT event_create_tab_days
ON SCHEDULE EVERY 1 DAY
STARTS '2015-09-10 01:00:00'
ON COMPLETION PRESERVE
ENABLE
DO
BEGIN
CALL test.create_tab_every_day();
END
$$
DELIMITER ;
每月的11號建一張下個月的表
DELIMITER //
CREATE PROCEDURE test.create_tab_every_mon()
BEGIN
DECLARE `@i` VARCHAR(15);
DECLARE `@sqlstr` VARCHAR(2560);
SET `@i` = DATE_FORMAT(DATE_ADD(NOW(),INTERVAL 1 MONTH),'%Y_%m');
SET @sqlstr = CONCAT(
"CREATE TABLE mon_tab_",
`@i`,
"(
`prop` VARCHAR(40)
);"
);
PREPARE stmt FROM @sqlstr;
EXECUTE stmt;
END;
CALL test.create_tab_every_mon();
/*****DROP PROCEDURE test.create_tab_every_mon;*****/
/*****DROP TABLE test.mon_tab_2015_10*****/
DELIMITER $$
CREATE EVENT event_create_tab_mons
ON SCHEDULE EVERY 1 MONTH
STARTS '2015-09-11 01:00:00'
ON COMPLETION PRESERVE
ENABLE
DO
BEGIN
CALL test.create_tab_every_mon();
END
$$
DELIMITER ;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29320885/viewspace-1796496/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQL定時器EVENT學習筆記MySql定時器筆記
- 怎樣實現填報表定時提交
- [筆記]laravel定時任務的實現筆記Laravel
- Mysql實現定時清空一張表的舊資料並保留幾條資料MySql
- 【JavaScript定時器小案例】常見的幾種定時器實現的案例JavaScript定時器
- MySQL的事件溯源Event Sourcing表結構MySql事件
- Mysql表分割槽實現MySql
- MySQL-37:記憶體臨時表MySql記憶體
- 如何實現定時推送?
- MySQL資料庫定時備份的幾種實現方法MySql資料庫
- postgresql 按小時分表(含觸發器)的實現方式SQL觸發器
- 總結MySQL建表、查詢最佳化的一些實用小技巧MySql
- Flink CDC 系列 - 同步 MySQL 分庫分表,構建 Iceberg 實時資料湖MySql
- linux mysql定時備份指令碼記錄LinuxMySql指令碼
- mysql 事件 eventMySql事件
- MySQL ROUTINE & EVENTMySql
- 實戰-MySQL定時增量備份(2)MySql
- kettle 實現mysql單表增量同步MySql
- MySQL建庫建表索引規範MySql索引
- 報表展現時如何實現固定表頭效果
- 小程式實現實時聊天IM功能
- 《高效能MySQL》筆記——MySQL建表資料型別的選擇MySql筆記資料型別
- MySQL臨時表MySql
- linux實現mysql資料庫每天自動備份定時備份LinuxMySql資料庫
- Jenkins定時構建Jenkins
- 實戰-MySQL定時全量備份(1)MySql
- SqlSugarClient 程式碼優先建表, 根據給定的實體類,建立SQL語句, 之後建立MySQL表SqlSugarclientMySql
- 遇到一個建表時出現的問題
- 使用Quartz實現定時作業quartz
- Java如何實現定時任務?Java
- SpringBoot如何實現定時任務Spring Boot
- pt-archiver實現MySQL定期分表HiveMySql
- 如何實現MySQL運維體系建設MySql運維
- 通過實體類生成 mysql 的建表語句MySql
- MySQL 定時備份MySql
- MySQL定時執行MySql
- Event Loop的規範和實現OOP
- Spring Boot 實現非同步事件EventSpring Boot非同步事件
- Laravel5.6使用定時任務實現定時發郵件Laravel