🎊专栏【MySQL】
🍔喜欢的诗句:更喜岷山千里雪 三军过后尽开颜。
🎆音乐分享【如愿】
🥰欢迎并且感谢大家指出小吉的问题
文章目录
- 🎄视图介绍
- 🎄视图特点
- 🌺基本操作
- ⭐创建视图
- ⭐查询视图
- ⭐修改视图
- ⭐删除视图
- ⭐向视图中插入数据
- 🎄视图的检查选项
- 🎄视图的更新
视图是MySQL中非常有用的一个数据库对象,它允许我们将复杂的SQL查询转换为一个虚拟的表。掌握视图的使用可以简化查询、提高效率、保护数据安全。那么如何在MySQL中创建、查询、修改以及删除视图呢?本文将全面介绍MySQL视图的操作和注意事项。
我们将学习视图的语法格式,以及插入、更新视图数据的可行性分析。你将收获创建视图的多种方式,修改视图的SQL语句写法。最后,我们将讨论视图定义中的检查选项,以及更新视图需要注意的限制。希望通过系统学习,我们可以熟练运用MySQL的这个非常实用的功能。
🎄视图介绍
MySQL 视图是指虚拟的表,它本身不存储数据,而是从一个或多个表中获取数据并进行组合和展示。视图看起来像是一个普通的表,可以用于查询、更新和删除数据,但实际上其存储的是一条 SQL 语句,用于定义视图的结构和数据。
🎄视图特点
可以简化查询操作:通过使用视图,我们可以将复杂的 SQL 查询转换为简单的 SELECT 查询。
可以对查询结果进行过滤和加工:我们可以在视图中加入 WHERE 和 GROUP BY 等条件来对查询结果进行过滤和加工,进一步满足特定的查询需求。
可以提高查询效率:如果视图是从多个表中获取数据,并且每次都需要进行复杂的 JOIN 操作,那么使用视图可以避免重复的 JOIN 操作,从而提高查询效率。
可以保护数据安全:通过限制视图的访问权限,我们可以防止用户访问某些敏感数据。
🌺基本操作
⭐创建视图
create [or replace] view 视图名[(列名列表)] as select 语句 ;
create or replace view tb_v_1 as select id,name from tb_abc where id>=1;
创建成功后,我们会发现在界面中出现了 视图 这个选项
⭐查询视图
查看创建视图语句
show create view 视图名称;
查看视图数据
select * from 视图名称…;
show create view tb_v_1;
select * from tb_v_1;
⭐修改视图
方法一
create [or replace] view 视图名称[(列名列表)] as select 语句;
create or replace view tb_v_1 as select id,name,money from tb_abc where id>=1;
方法二
alter view 视图名称[(列名列表)] as select 语句;
alter view tb_v_1 as select id,name from tb_abc where id>=1;
⭐删除视图
drop view [if exist] 视图名称[视图名称]…;
drop view if exist tb_v_1;
⭐向视图中插入数据
insert into tb_v_1 values(666,'Tom');
🎄视图的检查选项
MySQL 视图的检查选项是指在创建和修改视图时,可以使用的一些选项来检查视图定义是否正确。以下是常用的视图检查选项:
WITH CHECK OPTION:使用该选项可以确保对视图的更新操作符合视图定义的过滤条件。如果更新操作不符合视图定义的过滤条件,将会被拒绝。
WITH CASCADED CHECK OPTION:类似于 WITH CHECK OPTION,但是会递归地应用到所有依赖于当前视图的其他视图。也就是说,如果更新操作不符合当前视图以及依赖于当前视图的其他视图的过滤条件,更新操作将会被拒绝。
WITH LOCAL CHECK OPTION:类似于 WITH CHECK OPTION,但是只会应用到当前视图,不会递归地应用到依赖视图。也就是说,只有当更新操作不符合当前视图的过滤条件时,才会被拒绝。
默认使用WITH CASCADED CHECK OPTION
🎄视图的更新
视图中的行
和基础表中的行
必须存在一一对应的关系
如果视图包含下面任意一项,那么视图不可更新
- 聚合函数或窗口函数(sum() min() max() count())
- distinct
- group by
- having
- union
- union all
Congrats,通过本文的学习,我们已经可以熟练使用SQL语句创建、查询、修改和删除MySQL视图,并了解它的关键特性。remember视图的更新限制,避免错误操作。如果大家在工作中还遇到其他视图相关的问题,欢迎在评论区交流。最后,学习的关键是做练习,多动手使用视图,用它来简化查询,提高数据处理效率。持之以恒,SQL技术我们会越来越熟练!