MySQL视图

本文详细解释了数据库视图的作用,包括限制访问、简化复杂查询和提供数据的多种展示方式。介绍了视图的创建、修改和删除语法,并讨论了通过视图进行数据操作的限制。

视图的作用:

  1. 限制其他用户对数据库表的访问,因为试图可以有选择性的显示数据库的一部分。
  2. 容易实现复杂的查询。
  3. 对于相同的数据可以产生不同的视图。

创建视图

语法:
CREATE [OR REPLACE] VIEW view_name
AS select_statement
[WITH CHECK OPTION];

例子:
CREATE VIEW v_emp_1
AS SELECT empno,ename,job
FROM emp
WHERE deptno = 10
WITH CHECK OPTION;

WITH CHEK OPTION确保在视图上执行的DML操作仅限于一定的范围。上面的例子若在视图中修改部门编号的操作都会失败,因为这违反了WITH CHEK OPTION约束。

可以将视图看做一个SELECT语句的封装,所以可以嵌套SELECT字句的地方都可以由视图代替。

修改视图

方式一:在创建的语句的CREATE后加入 OR REPLACE
方式二:
ALTER VIEW view_name AS select_statemnt;

对视图增删改查的语句和表的类似。

但需要注意:

  1. 若视图中出现GRUOP函数、GROUP BY字句、DISTINCT关键字,则不能通过视图删除基表中数据。
  2. 若出现以上情况或存在使用表达式定义的列,则不能修改基表中的数据。
  3. 若出现以上情况或基表中未在视图中选择的其他列定义为非空并且没有默认值,则不能向基表中插入数据。

 删除视图

DROP VIEW view_name;

删除视图并不会删除数据,因为视图是基于数据库中的基表的虚表。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值