视图

视图的引入

  1,视图是一种虚拟的表,是从数据库中一个或者多个表中导出来的表。
  2,数据库中只存放了视图的定义,而并没有存放视图中的数据,这些数据存放在原来的表中。
  3,使用视图查询数据时,数据库系统会从原来的表中取出对应的数据。

视图的作用

  1,使操作简便化;
  2,增加数据的安全性;
  3,提高表的逻辑独立性;

创建视图

  { CREATE|REPLACE } [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]

  VIEW view_name [{column_list}]

  AS SELECT 语句

  [WITH [CASCADED | LOCAL |] CHECK OPTION]

释义:

  CREATE|REPLACE : 【创建|替换已创建的】视图

  ALGORITHM : 视图算法

  UNDEFINED 系统自动选择算法2.MERGE使用的视图语句与视图定义合并起来3.TEMPTABLE 结果存入临时表,然后用临时表执行语句view_name : 视图名称

  column_list : 属性列

  SELECT_STATEMENT :SELECT语句

  [WITH [CASCADED | LOCAL |] CHECK OPTION] 表示视图在更新时保证在视图的权限范围内

  CASCADED 默认值 更新视图时要满足所有相关视图和表的条件,2.LOCAL表示更新视图时满足该视图本身定义的条件即可。

在单表上创建视图

CREATE VIEW v1 AS SELECT * FROM t_book;
CREATE VIEW v2 AS SELECT bookName,price FROM t_book;

 CREATE VIEW v4 AS SELECT bookName,bookTypeName FROM t_book,t_booktype WHERE t_book.bookTypeId=t_booktype.id;

 CREATE VIEW v5 AS SELECT tb.bookName,tby.bookTypeName FROM t_book tb,t_booktype tby WHERE tb.bookTypeId=tby.id;

在多表上创建视图

CREATE VIEW v3(b,p) AS SELECT bookName,price FROM t_book;

查看视图
  DESCRIBE 语句查看视图基本信息

DESC v5;

  SHOW TABLE STATUS语句查看视图基本信息

SHOW TABLE STATUS LIKE 'v5';

SHOW TABLE STATUS LIKE 't_book';

  SHOW CREATE VIEW 语句查看视图详细信息

show CREATE VIEW  v1


修改视图

  ALTER VIEW AS 视图名  SELETE 语句...

ALTER view v1 as SELECT * from t_book where id > 23

更新视图

  修改视图的语句和创建视图的语句完全一样。当视图存在时,修改语句对视图进行修改;当视图不存在时,创建视图。
删除视图

   DROP VIEW <视图名1> [ , <视图名2> …]

DROP VIEW <视图名1> [ , <视图名2> …]
CREATE VIEW v1 AS SELECT * FROM t_book;

CREATE VIEW v2 AS SELECT bookName,price FROM t_book;

  CREATE VIEW v4 AS SELECT bookName,bookTypeName FROM t_book,t_booktype WHERE t_book.bookTypeId=t_booktype.id;

  CREATE VIEW v5 AS SELECT tb.bookName,tby.bookTypeName FROM t_book tb,t_booktype tby WHERE tb.bookTypeId=tby.id;

原文地址:https://www.cnblogs.com/linbin7/p/11931062.html