我是靠谱客的博主 激昂路人,最近开发中收集的这篇文章主要介绍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

最后

以上就是激昂路人为你收集整理的mysql 触发器 多事件_mysql 事件 触发器 过程的全部内容,希望文章能够帮你解决mysql 触发器 多事件_mysql 事件 触发器 过程所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部