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 ;
  • 相关阅读:
    自增长主键Id的另类设计
    Android 混淆那些事儿
    H5 和移动端 WebView 缓存机制解析与实战
    快速上手 Kotlin 的 11 招
    教你 Debug 的正确姿势——记一次 CoreMotion 的 Crash
    小程序组件化框架 WePY 在性能调优上做出的探究
    基于 TensorFlow 在手机端实现文档检测
    HTTPS 原理浅析及其在 Android 中的使用
    Bugly 多渠道热更新解决方案
    Swift 对象内存模型探究(一)
  • 原文地址:https://www.cnblogs.com/zjsthunder/p/9852642.html
Copyright © 2011-2022 走看看