mysql 视图 存储过程 存储函数 触发器

180 阅读2分钟

视图

  • 什么是视图 视图是一种 虚拟表,本身是不具有数据的,占用很少的内存空间,他是SQL中的一个重要概念 视图建立在已有表的基础上,视图赖以建立的这些表称为 基表
  • 视图的本质 存储起来的select语句,并且支持双向绑定功能
    • 视图的创建和删除只影响视图本身,不影响对应的基表,但是当视图中的数据进行增加 删除和修改操作时,数据表中的数据会相应地发生变化
    • 向视图提供内容的语句为select语句,可以将视图理解为存储起来的select 语句
    • 在数据库中,视图不会保存数据,数据真正保存在数据表中,当对视图中的数据进行增加 删除和修改操作时,数据表中的数据会相应地发生变化
    • 视图,是向用户提供基表数据的另一种表现形式,通常情况下,小型项目的数据库可以不使用视图,但是在大型项目中,以及数据表比较复杂的情况下,视图的价值就体现出来了,它可以帮助我们经常查询的结果集放到虚拟表中,提升使用效率,理解和使用起来都非常方便
  • 语法 image.png
  • 一个坑点
    • 更新视图字段中的数据 一定会更新基表中的数据么 答案:不一定 (更新基表中不存在的字段) image.png image.png image.png

存储过程 与存储函数

  • 什么是存储过程 一组经过 预先编译的SQL 语句的封装,
  • 执行过程 存储过程预先存储在mysql服务器上,需要执行的时候,客户端只需要向服务器端发出调用存储过程的命令,服务端就可以把预先存储好的这一系列sql语句全部执行
  • 好处
    • 简化操作,提高了sql语句的重用性,减少了开发程序员的压力

    • 减少操作过程中的失误,提高效率

    • 减少网络传输量(客户端不需要把所有的SQL 语句通过网络发送给服务器)

    • 减少了SQL语句暴露在网上的风险,也提高了数据查询的安全性 image.png image.png