1.查看视图

查看视图必须要有SHOW VIEW的权限

1.DESCRIBE
DESCRIBE[OR DESC] view_name
2.SHOW TABLE STATUS
SHOW TABLE STATUS LIKE 'view_name';
3.SHOW CREATE VIEW
SHOW CREATE VIEW 'view_name'
4.在views表中查看视图详细信息

在MySQL中,information_schema数据库下的views表中存储了所有视图的定义;通过对views表的查询,可以查看数据库中所有视图的详细信息

SELECT * FROM information_schema.views;
2.修改视图
1.使用CREATE OR REPLACE VIEW
CREATE [OR REPLACE] [ALGORITHM={UNDEFINED|MERGE|TEMPTABLE}]
   VIEW view_name [{column_list}]
   AS SELECT_statement
   [WITH [CASCADED|LOCAL|CHECK OPTION]]

可以看到,修改视图的语句和创建视图的语句时完全一样的;当视图存在时,修改语句对视图进行修改;当视图不存在时,创建视图;

例子:

CREATE OR REPLACE VIEW view_t AS SELECT * FROM t;
2.使用ALTER语句
ALTER [ALGORITHM={UNDEFINED|MERGE|TEMPTABLE}]
   VIEW view_name [{column_list}]
   AS SELECT_statement
   [WITH [CASCADED|LOCAL|CHECK OPTION]]

例子:

ALTER VIEW view_t AS SELECT quantity FROM t;
3.更新视图

因为视图是一个虚拟表,其中没有数据,所以视图的更新都是转到基本表上进行的;如果对视图进行增加或删除记录,实际上是对其基本表增加或者删除记录

查看数据库镜像创建时间 sql server 数据库怎么查看视图_数据库

4.删除视图
DROP VIEW [IF EXISTS] view_name[,view_name] ... [RESTRICE|CASCADE]

例子:

DROP VIEW IF EXISTS stu_glass;

MySQL中的视图和表的区别以及联系是什么?

  • 两者的区别
  • 视图是已经编译好的SQL语句,是基于SQL语句的结果集的可视化的表
  • 视图没有实际的物理记录
  • 表是内容,视图是窗口
  • 表占用物理空间而视图不占用物理空间,视图只是逻辑概念的存在;表可以及时对它进行修改,而视图只能用创建的语句来修改
  • 视图是查看数据表的一种方法,可以查询表中某些字段构成的数据,只是一些SQL语句的集合;从安全的角度来说,视图可以防止用户接触数据表,因而用户不知道表结构
  • 表属于全局模式中的表,是实表;视图属于局部模式的表,是虚表
  • 视图的建立和删除值影响视图本身,不影响对应的基本表
  • 两者的联系
  • 视图是在基本表之上而建立的,它的结构和内容都来自基本表,它依据基本表存在而存在
  • 视图是基本表的抽象和逻辑意义上建立的新关系