MySQL中视图的详细介绍

视图:

1、是一个虚拟表,并非真是存在;

2、数据库中只存放了视图的定义,没有存放视图中的数据,数据存放在原表中;

3、使用视图查询,还是从原表查询数据,原表数据改变,视图中的数据也会跟着改变

作用:

简化查询,可以把重复使用的查询封装成视图重复使用,使福州的查询易于理解和使用

安全问题:可以对不同的用户,设定不同的视图

视图的创建:

create database mydb_view;

create or replace view view1_emp as select ename,job from emp;

show full tables; ——查看表和视图,可以区别表和视图(区别于show tables)

修改视图:

alter view 视图名 as select 语句

alter view view_emp as select a.deptno,a.dname,a.loc,b.ename,b.sal from dept a,emp b

where a.deptno=b.deptno;

更新视图:

视图的更新实际上更新的也是原表的数据,因为视图本身不存数据,存的是数据结构

有些视图也是可以更新,在视图中的行和基表(即原表)中的行必须是一对一的关系,否则不能更新,

如视图中的结构包含以下的任何一种,都不可更新:

1、出现了聚合函数(sum(),min(),max(),count()等)

2、distinct

3、group by

4、having

5、union 或 union all

6、位于选择列表中的子查询

7、join

8、from 子句中的不可更新视图

9、where 子句中的子查询,引用from 子句中的表

10、仅引用文字值(在该情况下,没有要更新的基本表(即原表))

视图中虽然可以更新数据,但是有很多限制,最好只是将视图作为查询数据的虚拟表,而不要通过视图更新数据。

重命名视图:

rename table 视图名 to 新视图名;

rename table view_emp to my_view1;

删除视图:只会删除视图的定义,不会删除数据

drop view 视图名;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值