视图,存储过程和触发器
创始人
2024-11-16 04:39:47
0

目录

 视图

 创建视图:

 视图的使用

 查看库中所有的视图

 删除视图

视图的作用:

存储过程:

为什么使用存储过程?

什么是存储过程?

 存储过程的创建

创建一个最简单的存储过程

使用存储过程

删除存储过程

带参的存储过程

存储过程的缺陷

存储过程和函数的区别

面试题

分页

触发器

什么是触发器?

创建触发器

例子:

查看触发器

删除触发器

存储过程和触发器的区别:


 视图

是从一个或者几个基本表(或视图)导出的表,它与基本表不同,是一个虚表

 视图只能用来查询,不能做增删改(虚拟表)

 创建视图

 create view 视图名【view_xxx / v_xxx】

 as 查询语句

create view v_stu_man as select * from student where ssex='男';

 视图的使用

select * from v_stu_man;

 查看库中所有的视图

select * from information_schema.VIEWS WHERE table_schema = 'myshool';

 删除视图

drop view v_stu_man;

视图的作用:
  1. 简化查询
  2. 重写格式化数据
  3. 频繁访问数据库
  4. 过滤数据

存储过程:

 本质上是一个函数

为什么使用存储过程?

业务流程复杂:业务复杂时,SQL语句相互依赖,顺序执行

频繁访问数据库:每条SQL语句都需单独连接和访问数据库;

先编译后执行:SQL语句的执行需要先编译。

什么是存储过程?

存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中,经过第一次编译后,再次调用不需要重复编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。

 存储过程的创建

 create procedure 存储过程的名字【proc_xxx】(形参列表)

 BEGIN

  一组sql语句集

 END

创建一个最简单的存储过程

delimiter $$   -- 定制定界符

create procedure proc_test()

begin

select * from student;

end $$

delimiter ;  -- 恢复默认的定界符

使用存储过程

call proc_test();

删除存储过程

drop procedure proc_stuPage;

带参的存储过程

存储过程的缺陷

维护性:存储过程的维护成本高,修改挑选调试较为麻烦

移植性:大多数关系行数据库的存储过程存在细微差异

协作性没有相关的版本控制或者IDE,团队中对于存储过程的使用大多是依赖文档

存储过程和函数的区别

• 关键字不同;

• 执行和调用方式不同;

• 返回值不同;

• 功能不同。

面试题

分页

触发器

什么是触发器?
触发器是数据库中针对数据库表操作触发的特殊的存储过程。

创建触发器

delimiter $$

 create trigger 触发器名【trig_xxx】

before/after insert/ update/ delete

 on 表名 for each row

 begin

   触发后执行的一组sql语句

 end $$

 delimiter ;

主要针对表的增删改操作,可单独指定,也可全部指定。

例子:

删除学生sid为1,在此之前把学生的成绩删除

(触发器先执行,再执行sql语句)

查看触发器

SELECT * FROM information_schema.`TRIGGERS`

WHERE trigger_schema = 'myshool';

删除触发器

DROP TRIGGER trig_delstu_delsc;

存储过程和触发器的区别:

语法:关键字不同,存储过程是procedure,触发器是trigger;

执行:存储过程需要调用才执行,触发器自动执行;

返回值:存储过程可以定义返回值,但是触发器没有返回值;

功能:存储过程是一组特定功能的SQL语句,触发器则是SQL语

句前后执行,本身不影响原功能。

相关内容

热门资讯

妙招辅助!大当家辅助脚本app... 妙招辅助!大当家辅助脚本app(辅助)一直是有辅助插件(哔哩哔哩)1、进入游戏-大厅左侧-新手福利-...
于此同时!新九哥辅助工具!一贯... 于此同时!新九哥辅助工具!一贯确实有开挂辅助神器(有挂攻略)-哔哩哔哩1、玩家可以在新九哥辅助工具透...
方针辅助!兴动互娱辅助(辅助)... 方针辅助!兴动互娱辅助(辅助)其实真的有辅助神器(哔哩哔哩)1、不需要AI权限,帮助你快速的进行兴动...
攻略辅助挂!心悦辅助工具!本来... 攻略辅助挂!心悦辅助工具!本来真的是有开挂辅助插件(新版有挂)-哔哩哔哩1、每一步都需要思考,不同水...
积累辅助!同乡游有辅助软件码(... 积累辅助!同乡游有辅助软件码(辅助)一贯一直总是有辅助技巧(哔哩哔哩)1、同乡游有辅助软件码破解器简...
2026版方法!传送屋软件下载... 2026版方法!传送屋软件下载辅助!一直是有开挂辅助工具(真实有挂)-哔哩哔哩1、首先打开传送屋软件...
法门辅助!微信小程序微乐辅助器... 法门辅助!微信小程序微乐辅助器下载(辅助)本来一直总是有辅助脚本(哔哩哔哩)1、每一步都需要思考,不...
长期以来!pokerworld... 长期以来!pokerworld辅助器!总是真的是有开挂辅助器(果真有挂)-哔哩哔哩亲,关键说明,po...
策略辅助!指尖四川辅助脚本苹果... 策略辅助!指尖四川辅助脚本苹果版(辅助)原来存在有辅助app(哔哩哔哩)1)指尖四川辅助脚本苹果版免...
黑科技辅助挂!蜜瓜大厅辅助下载... 黑科技辅助挂!蜜瓜大厅辅助下载!总是真的是有开挂辅助方法(新版有挂)-哔哩哔哩运蜜瓜大厅辅助下载辅助...