zoukankan      html  css  js  c++  java
  • mysql 事件 触发器 过程

    sha1();           40位
    sha();             40位
    md5();           32位
    password();   41位

    case when then end 的用法
    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 把数字转换为ip
    select 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))
    begin
    insert into t4 values(a,b);
    end//
    delimiter;
    call myi('aa','上海');

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


    定义无参的存储过程
    delimiter//
    create procedure del()
    begin
    delete 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 int
    begin
    return n*n;
    end//
    delimiter;
    调用函数
    select pf(8);
    删除函数
    drop function pf;
    drop function if exists pf;
    查看建立pf函数时的代码
    show create function ff;

    视图
    -- 显示学生学号 姓名 成绩 等级 代课老师名称 如果没有老师显示无老师
    -- 定义视图
    create view vv
    as
    select 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 row
    begin
        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 row
    begin
        if old.sscore>=60 then
    if new.sscore<60 then
       insert into tttbak select * from ttt where ttt.sid = new.sid;
    end if;
        else
    if 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;








  • 相关阅读:
    SQL函数 【转】
    Oracle修改表,提示“资源正忙,要求指定NOWAIT”
    网关的通俗讲解【转】
    程序员小抄大全
    JQuery 中each的使用方法
    JQueryUI入门所有效果说明【转】
    随记小笔(20100820)
    asp.net操纵Oracle存储过程
    JQuery技巧总结【转】
    Centos7 进入单用户模式,修复系统
  • 原文地址:https://www.cnblogs.com/lsr111/p/4475114.html
Copyright © 2011-2022 走看看