mysql如何查看定時(shí)器有沒有執(zhí)行
成都創(chuàng)新互聯(lián)公司主要從事成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)東方,十載網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來(lái)電咨詢建站服務(wù):18982081108
1.查看是否開啟evevt與開啟evevt。
1.1、MySQL evevt功能默認(rèn)是關(guān)閉的,可以使用下面的語(yǔ)句來(lái)看evevt的狀態(tài),如果是OFF或者0,表示是關(guān)閉的。
show VARIABLES LIKE '%sche%';
1.2、開啟evevt功能
SET GLOBAL event_scheduler = 1;
2.創(chuàng)建定時(shí)器的過程
2.1、創(chuàng)建測(cè)試表test
drop table if exists test;
create table test
(
id int(11) not null auto_increment primary key,
time datetime not null
) engine=innodb default charset=utf8;
2.2、創(chuàng)建evevt要調(diào)用的存儲(chǔ)過程test_proce
delimiter //
drop procedure if exists test_proce//
create procedure test_proce()
begin
insert into test(time) values(now());
end//
delimiter ;
2.3、開啟evevt(要使定時(shí)起作用,MySQL的常量GLOBAL event_scheduler必須為on或者是1)
執(zhí)行show variables like 'event_scheduler';查看evevt是否開啟;
若沒開啟執(zhí)行set global event_scheduler='on';
2.4、創(chuàng)建事件test_event(其作用:每隔一秒自動(dòng)調(diào)用test_proce()存儲(chǔ)過程)
drop event if exists test_event;
create event test_event
on schedule every 1 second
on completion preserve disable
do call test_proce();
2.5、開啟事件test_event
思路如下,分別將A與B,A與C進(jìn)行關(guān)聯(lián),然后使用 union 進(jìn)行連接,查詢時(shí),直接使用這個(gè)查詢就可以了(可以建個(gè)視圖,查詢起來(lái)比較方便 ),如下:
select?d.id,?d.name
from?(select?A.id,?B.name
from?A,?B
where?A.id?=?B.id
and?A.type?=?'教師'
union
select?A.id,?C.name
from?A,?C
where?A.id?=?C.id
and?A.type?=?'教室')?d
where?d.id?=?123
有問題請(qǐng)追問,希望可以幫到你
1、創(chuàng)建測(cè)試表,
create table test_person(id int, RMB int);
2、插入測(cè)試數(shù)據(jù)
insert into test_person values(1,180);
insert into test_person values(2,170);
insert into test_person values(3,290);
insert into test_person values(4,160);
insert into test_person values(5,299);
insert into test_person values(6,266);
insert into test_person values(7,155);
3、查詢表中所有記錄,select t.* from test_person t,
4、編寫sql,匯總每個(gè)vip類型的用戶數(shù),
select vip_type, count(distinct id)
from (select case when RMB100 and RMB200 then 'VIP1' when RMB200 then 'VIP2' end as vip_type, id
? ? from test_person) t
group by vip_type
mysql DELIMITER // mysql CREATE PROCEDURE TestIfElse - ( - p_val INT - ) - BEGIN - IF (p_val = 1) THEN - SELECT '1' AS A; - ELSEIF (p_val = 2) THEN - SELECT '2' AS A; - ELSE - SELECT 'other' AS A; - END IF; - END// Query OK, 0 rows affected (0.05 sec) 上面是一個(gè)最簡(jiǎn)單的 mysql 的 IF / ELSEIF 的例子了...
有四種方式進(jìn)行判斷:
1.SHOW TABLES LIKE '%tb_bp_d_case%';
2.select TABLE_NAME from INFORMATION_SCHEMA.TABLES where TABLE_SCHEMA='dbname' and TABLE_NAME='tablename' ;
3. 如果表不存在就建立這個(gè)表,那么可以直接用
create table if not exists tablename.這樣的指令來(lái)建立,不需要先去查詢表是否存在。
4. 從模板表創(chuàng)建表:
create table if not exists like old_table_name;