MySQL数据库入门之视图、存储过程、触发器

一、视图:

1.1、视图是什么?怎么理解?

视图是从数据库的基本表(或者视图)导出的虚表(数据库只放定义它不实际存储数据,而是根据用户定义的SQL查询动态生成的结果集,具体数据存储在基本表中,所以基本表中的数据改变),视图数据改变,但是通过视图对数据进行更新(增、删、改)操作就有一定的限制从某种程度上来说,视图就像一个窗口,可以看到自己感兴趣的数据,视图始终是定义在基本表上的,所以对视图的所有操作最终都是向对应的基本表的操作。

1.2、视图的用处:

  • 简化操作:让用户关注自己需要的数据,基本表的数据通过定义视图变得更加清晰、简单。通过封装复杂的查询逻辑,使用户或应用程序可以像操作普通表一样操作视图。
  • 数据安全:使用户以多角度看同一数据,不同的用户类型通过定义不同的视图,让不同用户类型得到自己的数据。限制用户访问底层表的部分数据,通过视图只展示他们有权查看的信息。
  • 数据抽象:为不同的用户或应用提供统一的数据接口,即使底层数据结构发生变化,视图可以保持不变。视图一定程度上提供了数据的逻辑独立性。

二、存储过程:

2.1、存储过程是什么?怎么理解?

存储过程是一组预编译的SQL语句集合,存储在数据库中,并可通过一个名称调用。它可以接收输入参数、输出结果,并且能够包含流程控制语句(如条件判断和循环)。

举个例子,有一个数据库任务是计算某个用户的订单总金额。如果不使用存储过程,每次需要计算时,都需要手动写SQL语句去查找该用户的所有订单,然后对每个订单的金额进行求和。但如果创建一个存储过程 "CalculateOrderTotal",存储过程内部就已经包含了查找用户订单和计算总金额的所有SQL指令。下次需要这个信息时,只要简单地调用 "CalculateOrderTotal" 并告诉它用户ID,它就会返回结果,省去了每次都要写复杂查询的麻烦。

这就是存储过程的概念,它让数据库操作变得更高效、更简单,同时也增强了代码的复用性和数据的安全性。

2.2、存储过程的用处:

  • 提高效率:存储过程只需编译一次,之后每次调用都直接执行,减少了解析和编译SQL的时间。
  • 复用性:封装常用操作,减少代码重复,便于维护。
  • 增强安全性:限制直接访问基础表,通过参数化存储过程来执行操作。

三、触发器:

3.1、触发器是什么?怎么理解?

触发器是一种特殊类型的存储过程,它会在特定的数据库事件(如INSERT、UPDATE或DELETE)发生时自动执行。触发器又叫事件—条件—动作规则,当特定事件发生(如对表的增、删、查、改,事务的结束),对规则的条件进行检查,如果条件成立就执行规则中的动作,通常是一段SQL存储过程。触发器主要用于维护数据完整性、执行审计或自动执行业务逻辑。

3.2、触发器的用处:

  • 数据完整性:在数据变更前后自动检查或修改数据,确保满足业务规则。
  • 审计:自动记录数据更改的历史,便于追踪和审计。
  • 业务自动化:在数据变动时触发相关操作,比如订单状态更新后自动发送通知

  • 7
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值