关于MySQL操作中的视图问题

本文详细介绍了MySQL中的视图概念,包括视图的定义、作用,以及如何创建、修改和查询视图。特别强调了视图的安全性及更新限制,提倡视图主要用于查询而非直接更新数据。
摘要由CSDN通过智能技术生成

关于MySQL操作中的视图问题:

本篇博客主要介绍的是关于MySQL中视图的定义,作用,以及创建视图的方法。

视图的作用`

视图(VIEW)也被称作虚表,即虚拟的表,是一组数据的逻辑表示,其本质是对应于一条SELECT语句,结果集被赋予一个名字,即视图名字。
视图本身并不包含任何数据,它只包含映射到基表的一个查询语句,当基表数据发生变化,视图数据也随之变化。我们出于对安全的考虑,作为编程人员,我们可以通过视图的操作让用户只能看到我们想让用户看到的内容。

创建视图

创建视图的语法请看示例

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

修改视图:

alter view view1_emp
as 
select a.deptno,a.dname,a.loc,b.ename,b.sal from dept a,emp b where a.deptno=b.deptno;
select*from view1_emp;

在关于视图中也有很多的限制,MySQL的视图在更新视图
某些视图是可更新的。也就是说,可以在UPDATE、 DELETE或INSERT等语句中使用它们,以更新基表的内容,对于可更新的视图,在视图中的行和基表中的行之间必须具有一对一的关系,如果视图包含下述结构中的任何一种,那么它就是不可更新的:
聚合函数(SUM0, MIN0. MAXD.coUNT0等)
DISTINCT GROUPBY HAVING UNION或UNION ALL 位于选择列表中的子查询JOIN FROM子句中的不可更新视图
WHERE子句中的子查询,
引用FROM子句中的表。
仅引用文字值(在该情况下,没有要更新的基本表) 视图中虽然可以更新数据,但是有很多的限制。一般情况下,最好将视图作为查询数据的虚拟表,而不要通过视图更新数据。因为,使用视图更新数据时,如果没有全面考虑在视图中更新数据的限制,就可能会造成数据更新失败。

查询视图:

查询视图和查询表的操作相同:
SELECT * FROM v_emp_10;
此时视图的列名,和创建视图时的列名一致,不一定是原列名:
SELECT id, name, salary FROM v_emp_10;

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值