MySQL 建立間隔5分鐘的時間表

2021-07-22 23:35:11 字數 2907 閱讀 4499



間隔5分鐘時間表,為了與其他表做聯合查詢時解決空缺時間點問題

方法一:建立儲存過程,一次性插入n年的資料,每筆資料間隔5分鐘

建立表

create table tb_date (date_day datetime());

建立儲存過程

delimiter $

create procedure p1

begin

declare i int;

declare j int;

declare time1 datetime;

set i = 3000;

set j = 1;

set time1 = now();

while i > 0

do#insert into tb_minute_copy select now() - interval i*5 minute;

insert into tb_minute_copy select time1 - interval i*5 minute;

set i = i - 1;

end while;

while j < 5000000

doinsert into tb_minute_copy select time1 + interval j*5 minute;

set j = j + 1;

end while;

end $

執行儲存過程,寫入資料

call p1();

方法二:用定時器,設定5分鐘整數倍分鐘時執行,每5分鐘執行一次向表中插入當前時間

定時器執行語句

insert into tb_minute select now()

建立日曆

建立日曆表

create table `dim_date` (  

`date_id` int(11) not null comment '20110512',

`date_name` varchar(16) default null comment '2011-05-12',

`date_of_month` int(11) default null comment '12',

`year_id` int(11) default null comment '2011',

`year_name` varchar(16) default null comment '2023年',

`quarter_id` int(11) default null comment '2',

`quarter_name` varchar(16) default null comment '2季度',

`month_id` int(11) default null comment '5',

`month_name` varchar(16) default null comment '5月',

`month_of_year_name` varchar(16) default null comment '2023年5月',

`month_of_year_id` int(11) default null comment '201105',

`week_id` int(11) default null,

`week_name` varchar(16) default null,

`week_of_year_id` int(11) default null,

`week_of_year_name` varchar(32) default null,

`is_weekend` enum('否','是') default null comment '是否週末',

primary key (`date_id`),

key `ix_dim_date_date_name` (`date_name`),

key `ix_dim_date_month_id` (`month_id`),

key `ix_dim_date_year_id` (`year_id`),

key `ix_dim_date_quanter_id` (`quarter_id`),

key `ix_dim_date_week_of_year_id` (`week_of_year_id`,`week_of_year_name`)

) engine=myisam default charset=latin1

建立儲存過程

drop procedure if exists pro_dim_date;

create procedure pro_dim_date(in bdate date,in edate date)

begin

declare var date default bdate;

declare evar date default date_add(edate,interval 1 day);

declare bweek date;

declare eweek date;

while var4 then '是' else '否' end

);

set var=date_add(var,interval 1 day);

end while;

end

呼叫儲存過程,填入日曆表

call p7(now()-interval 31 day, now() + interval 10000 day)



MySql 時間間隔 與 當前時間5分鐘之前

select from tb user where signtime between date add now interval 5 minute and now 列出當前時間與5分鐘之內的 使用者記錄 其中 interval 5 minute 為間隔時間 now 為資料庫當前時間 附錄今天在學習儲...

5分鐘完成mysql離線安裝

mysql離線安裝並不複雜,就是經常會出現漏東西,有時候的搞半天,總結下,快速離線安裝mysql,直接把下面的命令敲一遍就好,5 10分鐘就能安裝好。2.1 安裝 主要是上傳檔案 解壓 新建使用者等。2.1.1 詳細命令 1.gz檔案上傳到目錄 usr local 2.解壓 cd usr local...

mysql查詢5分鐘內的資料

查詢sql語句 select from tb log where createtime date sub now interval 5 minute 函式 描述now 返回當前的日期和時間 curdate 返回當前的日期 curtime 返回當前的時間 date 提取日期或日期 時間表示式的日期部分...