【mysql】—— 视图

本文涉及的产品
RDSClaw,2核4GB
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
RDS AI 助手,专业版
简介: 【mysql】—— 视图



(一)视图理解

在 MySQL 中,视图(View)是虚拟的表其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。视图的数据变化会影响到基表,基表的数据变化也会影响到视图。

  • 上述我们了解了视图的基本概念,接下来我们就需要动手实践一番。

1、基本使用

1.1创建视图  

create view 视图名 as select语句;
  • 当前我们需要在表中筛选得到以下信息(该测试表为 oracle 9i ):

但是,当我们下次在想查看到当前数据时又需要进行复杂的操作,那么有没有一种方法可以解决这样的问题,避免繁琐的操作呢? ——此时就可以通过创建 视图 的方式来合理避免。

  • 同时,我们也可以新起一个窗口可以发现创建之后多出了一个文件:

  • 我们去验证查看当前【myviem】中的数据是不是之前的数据:

 


1.2 修改视图

在 MySQL 中,修改视图可能会对依赖该视图的查询或应用产生影响,具体的影响取决于所做的修改。

修改了视图,对基表数据有影响 :

  • 此时,我们再去原表查询看是否原数据被修改:

 


修改了基表,对视图有影响:

  • 此时,我们再去视图查询看是否数据被修改:

在进行任何修改之前,建议进行充分的测试,并确保修改不会破坏现有的查询逻辑。可以使用事务来包装修改操作,以便在出现问题时可以回滚到修改前的状态。


1.3 删除视图

drop view 视图名;

 


2、视图规则和限制

  1. 与表一样,必须唯一命名(不能出现同名视图或表名)
  2. 创建视图数目无限制,但要考虑复杂查询创建为视图之后的性能影响
  3. 视图不能添加索引,也不能有关联的触发器或者默认值
  4. 视图可以提高安全性,必须具有足够的访问权限
  5. order by 可以用在视图中,但是如果从该视图检索数据 select 中也含有 order by ,那么该视图 中的 order by 将被覆盖
  6. 视图可以和表一起使用

 


(二)小结

  1. 要注意的是,在处理大量数据或复杂查询时,使用视图可能会影响性能,因为每次查询视图时都要重新执行其基础的查询;
  2. 在创建和使用视图时,需要考虑其对性能的影响,因此在许多大公司是不允许用视图的,大家只需知道即可。
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
存储 SQL 关系型数据库
MySQL 进阶使用【函数、索引、视图、存储过程、存储函数、触发器】(2)
MySQL 进阶使用【函数、索引、视图、存储过程、存储函数、触发器】
|
存储 SQL 关系型数据库
MySQL 进阶使用【函数、索引、视图、存储过程、存储函数、触发器】(1)
MySQL 进阶使用【函数、索引、视图、存储过程、存储函数、触发器】
|
SQL 存储 关系型数据库
MySQL进阶突击系列(05)突击MVCC核心原理 | 左右护法ReadView视图和undoLog版本链强强联合
2024年小结:感谢阿里云开发者社区每月的分享交流活动,支持持续学习和进步。过去五个月投稿29篇,其中17篇获高分认可。本文详细介绍了MySQL InnoDB存储引擎的MVCC机制,包括数据版本链、readView视图及解决脏读、不可重复读、幻读问题的demo演示。
|
SQL 存储 关系型数据库
mysql-视图的定义和简单使用
这篇文章介绍了MySQL中视图的定义和简单使用方法,包括视图的创建规则和使用限制。通过一个实际的例子,展示了如何创建视图以及如何使用视图来简化复杂的SQL查询操作。
mysql-视图的定义和简单使用
|
NoSQL 关系型数据库 MySQL
2024Mysql And Redis基础与进阶操作系列(8)作者——LJS[含MySQL 创建、修改、跟新、重命名、删除视图等具体详步骤;注意点及常见报错问题所对应的解决方法]
MySQL 创建、修改、跟新、重命名、删除视图等具体详步骤;举例说明注意点及常见报错问题所对应的解决方法
|
SQL 安全 关系型数据库
MySQL创建视图(CREATE VIEW)13
【7月更文挑战第13天】创建视图是指在已经存在的 MySQL 数据库表上建立视图。视图可以建立在一张表中,也可以建立在多张表中。
571 1
|
缓存 DataWorks 关系型数据库
DataWorks产品使用合集之如何抽取MySQL视图数据
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
292 4
|
存储 数据可视化 关系型数据库
深入理解 MySQL 视图
深入理解 MySQL 视图
255 2
|
存储 缓存 关系型数据库
MySQL 视图:数据库中的灵活利器
视图是数据库中的虚拟表,由一个或多个表的数据经筛选、聚合等操作生成。它不实际存储数据,而是动态从基础表中获取。视图可简化数据访问、增强安全性、提供数据独立性、实现可重用性并提高性能,是管理数据库数据的有效工具。
338 0
|
安全 关系型数据库 MySQL
MYSQL--视图操作
MYSQL--视图操作

推荐镜像

更多