简述触发器、函数、视图、存储过程?

触发器:触发器是一个特殊的存储过程,它是MySQL在insert、update、delete的时候自动执行的代码块。

     create trigger trigger_name

after/before insert /update/delete on 表名

for each row

begin

sql语句:(触发的语句一句或多句)

end

 函数:MySQL中提供了许多内置函数,还可以自定义函数(实现程序员需要sql逻辑处理)

自定义函数创建语法:

     创建:CREATE FUNCTION 函数名称(参数列表)  

        RETURNS 返回值类型  函数体

   修改: ALTER FUNCTION 函数名称 [characteristic ...]

删除:DROP FUNCTION [IF EXISTS] 函数名称

调用:SELECT 函数名称(参数列表)

视图:视图是由查询结果形成的一张虚拟表,是表通过某种运算得到的一个投影

   create view view_name as select 语句

存储过程:把一段代码封装起来,当要执行这一段代码的时候,可以通过调用该存储过程来实现(经过第一次编译后再次调用不需要再次编译,比一个个执行sql语句效率高)

create procedure 存储过程名(参数,参数,…)

begin

//代码

end

1、视图

视图只是一种逻辑对象,是一种虚拟表,它并不是物理对象,因为视图不占物理存储空间,在视图中被查询的表称为视图的基表,大多数的select语句都可以用在创建视图中(说白了,视图就是一种虚拟表,就像是一张电子照片

优点:集中用户使用的数据,掩码数据的复杂性,简化权限管理以及为向其他应用程序输出而重新组织数据等

2、触发器

(1)触发器是一个特殊的存储过程,它是MySQL在insert、update、delete的时候自动执行的代码块。

(2)触发器必须定义在特定的表上。

(3)自动执行,不能直接调用,

说白了,触发器其实就是一个神,他会待在自己的庙宇中,当百姓受难了,通过一些祷告仪式,如insert、update、delete,他会自动的进行降妖除魔!

3、函数

它跟php或js中的函数几乎一样:需要先定义,然后调用(使用)。

只是规定,这个函数,必须要返回数据——要有返回值

4、存储过程

存储过程(procedure),概念类似于函数,就是把一段代码封装起来,当要执行这一段代码的时候,可以通过调用该存储过程来实现。在封装的语句体里面,可以同if/else ,case,while等控制结构,可以进行sql编程,查看现有的存储过程。

相关推荐