mysql 触发器 多事件_mysql 事件 触发器 过程

select sname 姓名,sscore 成绩,case when sscore is null then ‘补考‘when sscore>=90 then ‘优秀‘when sscore>=80 then ‘良好‘when sscore>=60 then ‘及格‘when sscore<60 then ‘补考‘end from student;

if语句在mysql中的使用select sname,sscore,if(sscore is null,‘补考‘,if(sscore>=90,‘优秀‘,if(sscore>=80,‘良好‘,if(sscore>=60,‘及格‘,‘不及格‘))))等级from student;

inet_aton把ip转为数字,inet_ntoa 把数字转换为ipselect inet_aton (‘192.168.1.2‘);select inet_ntoa(3232235778);

uuid();36位全球唯一字符串视图create view vv as显示学生学号姓名 成绩 等级 代课老师姓名(如果无老师显示无老师)定义存储过程 编译执行速度快比较安全定义存储过程delimiter//create definer=`root`@`localhost`  procedure my3(in a char(6),b varchar(6))begin insert into t4 values(a,b);end//delimiter;

定义插入数据的存储过程,过程名为myi,有2个输入参数delimiter//create procedure myi(in a char(6),b varchar(6))begininsert into t4 values(a,b);end//delimiter;call myi(‘aa‘,‘上海‘);

用过程只查询一个列并显示出来delimiter//create procedure myshow()beginselect b 城市 from t4;end//delimiter;call myshow;

定义无参的存储过程delimiter//create procedure del()begindelete from t4;end//delimiter;调用存储过程call my3(‘aa‘,‘666‘);

删除存储过程drop procedure my3;

查询创建过程语句show create procedure del;

查询当前数据库里面的所有的存储过程清除历史记录然后点击对应的库点击存储过程出来的一段话就是存储过程的名字列出显示yy数据库中的所有的存储过程名称 select `SPECIFIC_NAME` from `INFORMATION_SCHEMA`.`ROUTINES` where `ROUTINE_SCHEMA` = ‘yy‘ and ROUTINE_TYPE = ‘PROCEDURE‘;

函数定义函数delimiter//create function pf(n int)returns intbeginreturn n*n;end//delimiter;调用函数select pf(8);删除函数drop function pf;

drop function if exists pf;查看建立pf函数时的代码show create function ff;

视图-- 显示学生学号 姓名 成绩 等级 代课老师名称 如果没有老师显示无老师-- 定义视图create view vvasselect sid,sname,sscore,case when sscore is null then ‘补考‘ when sscore >=90 then ‘优秀‘when sscore>=80 then ‘良好‘when sscore>=60 then ‘及格‘when sscore<60 then ‘不及格‘end 等级,ifnull(tname,‘没有老师‘)from student left join teacher on stid= tid;

-- 查询视图 相当查询一个数据表,视图只保存定义,不存数据select * from vv;

-- 删除视图drop view if exists vv;

触发器建立触发器delimiter //create trigger tt_isert after insert on ttt for each rowbegin    if new.sscore<60 then        insert into tttbak select * from ttt where ttt.sid = new.sid;    end if;end//delimiter ;建立修改数据的触发器

delimiter //create trigger ttt_update after update on ttt for each rowbegin    if old.sscore>=60 thenif new.sscore<60 then    insert into tttbak select * from ttt where ttt.sid = new.sid;end if;    elseif new.sscore<60 then    replace into tttbak select * from ttt where ttt.sid = new.sid;else    delete from tttbak where sid = new.sid;end if;    end if;    end//delimiter ;

删除触发器drop trigger tt_insert;事件(自动的任务)-- 查看事件功能是否开启show variables like ‘event_scheduler‘;-- 开启事件机制set global event_scheduler =1;set global event_scheduler=on;-- 关闭事件set global event_scheduler=0;set global event_scheduler=off;建立表格create table aaa(t timestamp);

建立事件create event eaaa on schedule every 1 second do insert into aaa value(current_timestamp);删除定义的事件drop event eaaa;

-- 禁用某事件alter event eaaa disable;-- 开启某事件alter event eaaa enable;

来自为知笔记(Wiz)

mysql 事件 触发器 过程

标签:

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:http://www.cnblogs.com/lsr111/p/4475114.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值