MySQL视图

文章目录

  • 前言
  • 一、MySQL视图
    • 1、基本使用
    • 2、视图规则和限制


前言


一、MySQL视图

视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。视图的数据变化会影响到基表,基表的数据变化也会影响到视图。

1、基本使用

创建视图。

create view 视图名 as select语句;

案例
显示出emp表中每个员工的姓名和其所对应的部门名称
我们可以通过下面将两个表进行内连接,然后得到想要的临时表。但是这样我们每次使用这个临时表时,都需要执行下面的语句,这时候我们就可以创建一个视图,即将结果临时表创建为一个视图。
MySQL视图_第1张图片
我们看到当创建一个视图后,在该数据库对应的目录下也会生成一个对应的表文件。视图就是一个临时表。
MySQL视图_第2张图片
我们可以通过前面学习的查询等sql语句访问视图中的数据。
MySQL视图_第3张图片
我们也可以修改视图中的数据,并且当我们修改视图中的数据后,基表中的数据也会改变。
MySQL视图_第4张图片
我们更改基表的数据后,视图中的数据也会跟着改变。
MySQL视图_第5张图片
我们可以像下面这样删除视图。

drop view myview;

MySQL视图_第6张图片

2、视图规则和限制

  • 与表一样,必须唯一命名(不能出现同名视图或表名)。
  • 创建视图数目无限制,但要考虑复杂查询创建为视图之后的性能影响。
  • 视图不能添加索引,也不能有关联的触发器或者默认值。
  • 视图可以提高安全性,必须具有足够的访问权限。
  • order by 可以用在视图中,但是如果从该视图检索数据 select 中也含有 order by ,那么该视图中的order by 将被覆盖。
  • 视图可以和表一起使用。

你可能感兴趣的:(MySQL,mysql,数据库,笔记)