码迷,mamicode.com
首页 > 数据库 > 详细

MySQL——视图

时间:2017-09-06 00:34:09      阅读:314      评论:0      收藏:0      [点我收藏+]

标签:9.png   log   images   显示   weight   名称   blog   algorithm   where   

1.    视图的概念

数据库中的视图指的是一个虚拟表,其内容由查询定义。同真实的表一样,视图也是由行与列构成的。视图的数据来源由SQL语句查询得到,不存储数据。

1.    视图的创建方法

 1 -- 格式: create  view 视图名称 as  SQL查询;
 2 
 3 -- 说明:
 4 
 5 -- 1)        Create view 关键字
 6 
 7 -- 2)        视图名称: 就是虚拟表名
 8 
 9 -- 3)        As 关键字
10 
11 -- 4)        SQL查询, 即: select查询语句  通过视图可以有选择的显示字段.
12 Create view v_age as select * from student where age<30; 

 

技术分享

技术分享

3.    查看视图创建语句

1 Show create view 视图名称 \G

4    查看视图结构

1 Desc 视图名称

5.    显示所有视图

1 select * from information_schema.views \G

 

技术分享

6.    修改视图

1)        方法一: 

1  alter view  视图名称  as  select查询;

技术分享

2)        方法二:

1  Create or replace view 视图名称 as select查询; 

7.    更新视图中数据

先更新原来的数据表的数据,在查看视图中的数据

技术分享

更新原来的表后,再查看(视图查找不到原来表被修改的数据的信息,所以会少一条数据

技术分享

注意: 通过视图修改,则是修改的原数据表中的内容.  此时 视图中的数据与原始表数据是同步的.

建议: 一般不通过视图修改数据.

 

 

8.    删除视图

1 Drop view 视图名称

9.    视图算法

Navicat的使用方法:

技术分享

技术分享

概述: 指的是一个视图是在什么时候执行,依据哪些方式执行

1)        Merge合并

合并的执行方式,每当执行的时候,先将视图的sql语句与外部查询视图的sql语句,合并在一起,最终执行;

 

1  create ALGORITHM= Merge  view 视图名称 as SQL查询;

 

技术分享

2)        Temptable临时表

临时表模式,每当查询的时候,将视图所使用的select语句生成一个结果的临时表,再在当前的临时表内进行查询。(也就是先执行视图)

1 create ALGORITHM= TEMPTABLE  view 视图名称 as SQL查询;

 

 技术分享

3)        Merge, Temptable算法的差异:

实例: 统计表: tb_phone , 同类手机的最高价格的产品?

 技术分享

技术分享

10.    视图的应用场景

1)        隐藏某些字段,保护数据

技术分享

 

 

2)        应用复杂的SQL语句进行简化语句输入

技术分享

 

MySQL——视图

标签:9.png   log   images   显示   weight   名称   blog   algorithm   where   

原文地址:http://www.cnblogs.com/mrszhou/p/7482378.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!