MySQL面试(1):视图

本文介绍了MySQL视图的概念及其优点,详细解释了视图更新的规则,并明确了哪些情况下视图可以被更新。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MySQL面试(1):视图

视图的基本概念

视图是虚拟的表,本身不包含数据,也就不能对其进行索引操作。对视图的操作和对普通表的操作一样。

视图的优点

  • 简单复杂的SQL操作,比如连接操作
  • 只使用实际表的一部分数据,减小开销
  • 通过只给用户访问视图的权限,保证数据的安全性
  • 可以更改数据格式和表示

面试常问1:视图能更新吗?

首先肯定回答,能更新。不是所有的视图都可以更新,视图更新必须遵循以下规则
(1)若视图的字段是来自字段表达式或常数,则不允许对此视图执行INSERT、UPDATE操作,允许执行DELETE操作

(2)若视图的字段是来自库函数,则此视图不允许更新

(3)若视图的定义中有GROUP BY子句或聚集函数时,则此视图不允许更新

(4)若视图的定义中有DISTINCT任选项,则此视图不允许更新

(5)若视图的定义中有嵌套查询,并且嵌套查询的FROM子句中涉及的表也是导出该视图的基表,则此视图不允许更新

(6)若视图是由两个以上的基表导出的,此视图不允许更新
(7)一个不允许更新的视图上定义的视图也不允许更新

何时更新?

由一个基表定义的视图,只含有基表的主键或候补键,并且视图中没有用表达式或函数定义的属性,才允许更新。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值