数据库学习之七--视图(View)

一、定义

  视图:指计算机数据库中的一个临时虚拟表,其内容由查询定义;同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。

二、优点

  1. 优点:

    a. 无需保存数据,可以节省存储设备的容量;

    b. 将频繁使用的SELECT 语句保存成视图,不用每次都重新书写。特别是在进行汇总以及复杂的查询条件导致SELECT 语句非常庞大时可以大大提高效率;

    c. 视图中的数据会随着原表的变化自动更新,可以保证数据的最新状态;

    d. mysql允许基于其他视图创建视图;

  2. 缺点:

    a. 定义视图时不能使用ORDER BY子句;

    b. 无法将视图的更改反映到原表中的;记住:视图是一张衍生的表,原表改动,视图会随着变动,反之,视图无法改变原表,所以视图无法插入,删除或  者更新数据;

  注: 应该将经常使用的SELECT语句做成视图。

三、示例:

  1. 数据库中现有两张表Employee_China和Employ_USA, 如下:

  

   

   2.创建视图

CREATE VIEW employee AS
SELECT FistName, lastName, Age, City FROM Employee_China
UNION 
SELECT FistName, lastName, Age, City FROM Employee_USA
GROUP BY age 

  创建视图成功返回结果:

  

   3.查看视图字段

DESCRIBE employee;

  运行结果:

  

  4. 查看数据库中有所有的视图:

show table status where comment='view';

  运行结果:

  

   注:由于这张表太长,只截取了一半;

  5. 查看数据库中所有视图表

show full tables where Table_type = "VIEW";

  运行结果:

  

  6. 删除视图

Drop VIEW employee;

四、视图的使用

  1. 应该尽量将频繁使用的查询作为视图;

  2. 视图可以和表一样的使用和操作,不过试图是一张临时虚表;

  

原文地址:https://www.cnblogs.com/anlia/p/11738991.html