[[数据库]] MySQL的视图、触发器、函数 MADPEACH

    科技2022-07-14  107

    Chapter4 MySQL的视图、触发器、函数

    文章目录

    Chapter4 MySQL的视图、触发器、函数一、视图二、触发器三、函数


    一、视图

    #视图的作用:未某个查询语句设置别名,日后方便使用 #视图常用的场合:反复使用某个临时表时 #视图是虚拟的,是从物理表中读取的过程。视图本身不可修改,原表插入新数据后,视图中也有 创建:create view 视图名称 as (SQL语句) 修改:alter view 视图名称 as (SQL语句) 删除:drop view 视图名称

    二、触发器

    #before/after + insert/delete/update,查询则不会触动触发器 #NEW代指新数据,用于insert;OLD代指老数据,用于delete;NEW/OLD都可用于UPDATE delimiter // #改变规则,令//表示结束 create trigger t1 before insert on student for each row BEGIN insert into teacher(tname) values(NEW.sname); insert into teacher(tname) values(NEW.sname); insert into teacher(tname) values(NEW.sname); END // delimiter ; #改变规则,令;表示结束 #运行一次后,触发器就设定完毕。之后每次执行相关语句就会触动触发器。

    三、函数

    1.内置函数 #内置函数常用的有时间函数,字符串长度计算,字符串拼接等 #CURDATE()是某个内置时间函数,内置的时间函数有许多,获取的时间格式不同,有的是年月日时分秒,有的是年-月等等。执行内置函数方式如下 select CURDATE(); select DATE_FORMAT(ctime,"%Y-%m"),count(1) from blog group DATE_FORMAT(ctime,"%Y-%m) #统一格式,将原来的ctime 2019-10-10 11:19改为2019-10 #%Y显示2019,%y显示19 注:通过时间函数获取时间后,原表中的时间内容没有变,只是显示在内存中的方式改变了而已 2.自定义函数(有返回值) delimiter \\ create function f1( i1 int, #强制规定类型,传入两个int类型的参数 i2 int) return int #返回值的类型是int BEGIN declare num int default 0; #默认值为0 set num =i1+i2; return(num); END \\ delimiter; #运行一次后,函数设定完毕。之后每次需要时调用即可 使用函数:select f1(1,100); 注:函数中不能写select * from tb1,而后续的存储过程可以。 注:强类型语言计较类型,如C语言,SQL语言;而弱类型语言忽视类型,如Python
    Processed: 0.025, SQL: 8