zoukankan      html  css  js  c++  java
  • mysql视图、存储过程等

    视图:

    需求: 创建的临时表(select * from tb1)被反复使用,这时可以为该临时表创建视图。视图相当于为某个查询创建了别名。

    1、创建视图

    create view v1 as select * from tb1;
    create view 视图名 as sql语句;

    2、删除视图

    drop view v1;
    drop view 视图名;

    3、修改视图(alter)

    alter view v1 as select * from tb2;
    alter view 视图名 as sql语句;

    注意:视图和原表的关系,原表改变,视图也会跟着改变;原表是物理实际存在的,视图是虚拟的;

        视图不推荐使用,一般直接在python代码中写子查询;


    触发器:

    在执行某一操作(增删改)之前或者之后额外再执行的操作

    1、创建触发器

    在之前执行:

    delimiter $$
    create trigger t1 before insert on tb1 for each row
    begin
    insert into tb2(number) values(111);
    end $$
    delimiter ;
    delimiter $$   创建结束符
    create trigger t1 before insert on tb1 for each row    创建触发器
    begin    开始标志
    insert into tb2(number) values(111);    触发器执行内容
    end $$    结束标志
    delimiter ;    修改结束符

    在之后执行:

    delimiter $$
    create trigger t1 after insert on tb1 for each row
    begin
    insert into tb2(number) values(111);
    end $$
    delimiter ;

    触发器还有:insert,delete,update,......

    NEW 新数据:insert,update时有;NEW.....可以点出具体想要的数据

    OLD老数据:delete,update时有

    2、删除触发器

    drop trigger t1

    触发器也不常用


    3、函数

    (1)自定义函数

    delimiter $$
    create function func1(n1 int,n2 int) --创建函数
    returns int
    begin
        declare num int; --声明变量
        set num = n1 + n2;
        retutn (num)
    end $$
    delimiter ;
  • 相关阅读:
    [Javascript] What is JavaScript Function Currying?
    [Javascript] Array methods in depth
    [ES6] ... spread operator
    [AngularJS] New in Angular 1.5 ng-animate-swap
    [Reduc] React Counter Example
    [Redux] Implementing Store from Scratch
    [Redux] Store Methods: getState(), dispatch(), and subscribe()
    [Redux] Introduction
    [Javascript] Intro to Recursion
    未来-区块链-Micron:区块链永远不会忘记:内存对这项革命性技术的推动作用
  • 原文地址:https://www.cnblogs.com/zjsthunder/p/9852642.html
Copyright © 2011-2022 走看看