视图 View

一、视图概述

  数据库中的视图是一个虚拟表,视图包含一系列带有名称的行和列数据。行和列数据来自自由定义视图查询所引用的表,并且在引用视图时动态生成。
  视图是一个或者多个表中导出的,视图的行为与表非常相似,但是视图是一个虚拟表。在视图中用户可以使用SELECT语句查询数据,以及使用INSERT、UPDATE和DELETE修改记录。

二、创建视图

  视图中包含了SELECT查询的结果,因此视图的创建基于SELECT语句和已存在的数据表,视图可以建立在一张表上,也可以建立在多张表上。
  create[or replace]view view_name [(column_list)] as select_statement;

三、查看视图

  • 使用DESCRIBE语句查看视图基本信息:describe view_name;
  • 使用SHOW TABLE STATUS语句查看视图基本信息:show table status like 'view_name';
  • 使用SHOW CREATE VIEW语句查看视图详细信息:show create view view_name;
  • 在views表中查看视图详细信息:select * from information_schema.views;

四、修改视图

  • 使用CREATE OR REPLACE VIEW语句修改视图:语法格式同创建视图的语法
  • 使用ALTER语句修改视图:alter view view_name [(column_list)] as select_statement;

五、更新视图

  更新视图是指通过视图表来插入、更新、删除表中的数据,因为视图是一个虚拟表,其中没有数据,通过视图更新的时候都是转到基本表上进行更新的,如果对视图增加或者删除记录,实际上是对其基本表增加或删除记录。其修改时的语法和基本的INSERT、UPDATE、DELETE语法一致,只需将表名替换为视图名即可。 

  • 当视图中包含有如下内容时,视图的更新操作将不能被执行:
    • 视图中不包含基表中被定义为非空的列
    • 在定义视图的SELECT语句后的字段列表中使用了数学表达式
    • 在定义视图的SELECT语句后的字段列表中使用聚合函数
    • 在定义视图的SELECT语句中使用了DISTINCT、UNION、TOP、GROUP BY或HAVING子句。
  • 注意:避免在视图上修改数据,只用作查询

六、删除视图

  • 删除视图的语法格式:drop view [if exists] view_name,...;

猜你喜欢

转载自blog.csdn.net/hqz820844012/article/details/80548744
今日推荐