当前位置: 首页 > news >正文

MySQL——视图

一.什么是视图

视图的本质就是一个虚拟表,基于一个或多个基础表生成,不独立存储数据。可以像操作普通表一样对视图进行管理,视图本身是不占用物理存储空间的。

二.视图的创建

视图创建控制语句:

create view '视图名字' 
as select '要查询的列名' from '被视图化表名' where '视图数据条件';

列出所有视图:

show full tables where table_type = 'view';

查看视图定义:

select*from information_schema.views where table_name = 'view_name';

视图的修改:

alter view '视图名' as (查新询语句);

 视图的删除:

drop view '视图名';

三.视图不可更新的情况:

1.创建视图时使⽤聚合函数的视图

2.创建视图时使⽤ distinct

3.创建视图时使⽤ group bt 以及使⽤ having⼦句

4.创建视图时使用 union 已经 union all 语句。

5.查询列表中使用子查询。

6.在 from ⼦句中引⽤不可更新视图

四.视图的优缺点

1. 简单性:视图可以将复杂的查询变成⼀个简单的查询。

2. 安全性:通过视图,我们可以隐藏表中的敏感数据。

3. 逻辑数据独⽴性:视图提供了⼀种逻辑数据独⽴性,即使底层表结构发⽣变化,只需修改视图定 义,⽽⽆需修改依赖视图的应⽤程序。使⽤到应⽤程序与数据库的解耦

4. 重命名列:视图允许⽤⼾重命名列名,以增强数据可读性。

缺点:

1.性能开销:复杂视图的查询需要动态生成数据,可能要比正常查表要慢。

2.更新限制:部分视图不可以更新。

http://www.dtcms.com/a/309248.html

相关文章:

  • C++对象访问有访问权限是不是在ide里有效
  • StarRocks vs. Trino
  • JavaWeb(苍穹外卖)--学习笔记16(定时任务工具Spring Task,Cron表达式)
  • RAGFLOW~Enable RAPTOR
  • 【云计算】云主机的亲和性策略(二):集群节点组
  • [ java 网络 ] TPC与UDP协议
  • 微波(Microwave)与毫米波(Millimeter wave)简介
  • 动态域名解析(DDNS)到底有什么用?
  • OSPF综合大实验
  • 下次接好运~
  • Oracle EBS 缺少adcfgclone.pl文件
  • 一分钟了解IO-Link 系列集线器
  • LaTeX 复杂图形绘制教程:从基础到进阶
  • Deep Height Decoupling for Precise Vision-based 3D Occupancy Prediction
  • 数据结构前篇 - 深入解析数据结构之复杂度
  • Leetcode——53. 最大子数组和
  • 如何将消息转移到新 iPhone
  • 如何将联系人从三星手机转移到 iPhone
  • MySQL 高并发下如何保证事务提交的绝对顺序?
  • 转换图(State Transition Diagram)和时序图(Sequence Diagram)画图流程图工具
  • 新手向:国内外大模型体验与评测
  • 智能图书馆管理系统开发实战系列(四):后端C++ DLL开发与模块化设计
  • 一种新的分布式ID生成方案--ULID
  • ABP VNext + Dapr Workflows:轻量级分布式工作流
  • (AC)唐克的新游戏
  • Vue3中Markdown解析与渲染的完整解决方案:从安全到性能优化
  • PostgreSQL 中删除指定数据库下的所有表结构
  • 微服务的编程测评系统9-竞赛新增-竞赛编辑
  • 如何保护 Redis 实例的安全?
  • 快速排序算法详解与洛谷例题实战