36-视图的查看,修改与更新,删除

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.更新视图

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

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

例子:

DROP VIEW IF EXISTS stu_glass;

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

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

转载于:https://my.oschina.net/majorx/blog/3066454

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值