【lesson31】MySQL视图

文章目录

  • 视图介绍
  • 基本使用
    • 创建视图
    • 案例
    • 删除视图
  • 视图规则和限制

视图介绍

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

基本使用

创建视图

create view 视图名 as select语句;

案例

要创建视图的表
【lesson31】MySQL视图_第1张图片

创建视图
【lesson31】MySQL视图_第2张图片
我们查看表发现多了一个myview表。
【lesson31】MySQL视图_第3张图片
查看myview数据发现,myview就是我们查出来的数据被做成视图了。

那么更改视图的数据,会不会影响我们原表的数据呢?
测试:
修改数据
【lesson31】MySQL视图_第4张图片
查看视图表
【lesson31】MySQL视图_第5张图片
查看原表
【lesson31】MySQL视图_第6张图片
发现修改视图的数据原表也变了。
修改视图的数据对原表有影响。

那么修改原表的数据对视图myview有影响吗?
测试
修改数据
【lesson31】MySQL视图_第7张图片
查看原表
【lesson31】MySQL视图_第8张图片
查看视图
【lesson31】MySQL视图_第9张图片
发现修改原表的数据也对视图myview有影响

删除视图

【lesson31】MySQL视图_第10张图片

视图规则和限制

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

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