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

MySQL中的视图

1. 什么是视图

视图是一个虚拟的表,它基于一个或多个基本表或视图查询结果集,它本身是不存储数据的,而是通过其他表的查询结果动态生成数据,它仅仅是其他表的查询逻辑的表示。用户可以像操作表一样对视图进行操作

2. 语法

2.1. 创建语法:

如果不写列名的情况下,要注意查询结果集是否存在重复列名

CREATE VIEW 视图名(column_list)as 查询结果集

案例

基于学生表中的id、name、age、gender的所有查询结果集创建视图stu_v

create view stu_v(id,name,age,gender) as (select id,name,age,gender from student)

2.2 删除语法

删除的语法和表删除语法类似,只是把table改为view

DROP VIEW 视图名

案例

删除stu_v视图

drop view stu_v

2.3 查询语法

视图的查询语法和表的查询语法一致

SELECT [colum] from 视图名

案例

查询stu_v中的所有数据

select * from stu_v

2.4 更新语法

注意:不是所有的视图都可以进行更新数据的操作,视图需要满足一下条件:

1. 查询依据不使用GROUP BY语句、UNION或UNION ALL、以及聚合函数、DISTINCT

2. 查询依据不使用不满足条件的视图

3. 查询列表不使用子查询

UPDATE [LOW_PRIORITY] [IGNORE] table_reference SET assignment [, assignment] ... [WHERE where_condition] [ORDER BY ...] [LIMIT row_count]

案例

将id为1的用户年龄改为20

update stu_v Set age = 20 where id =1 ;

3. 视图的优点

1.安全性:如果表中的某些字段不想被查询,就可以使用创建一个不含该字段的视图,用户使用该视图就不可能查询到敏感字段

2.简单性:可以把一个复杂的查询语句写成一个视图,下次使用就可以直接查询视图,不需要再重写复杂语句

3.逻辑数据独立性:数据库与应用程序进行交换时,当数据库端要修改查询结构时,对应的视图名不变,应用程序调用查询结果时不需要修改对应的代码,可以起到解耦的作用

4.重命名列:试图的列名可以进行重写,可以提高代码的可读性

http://www.jsqmd.com/news/471530/

相关文章:

  • 2026年通风系统核心部件推荐:从风阀看西北市场的“硬实力”制造商 - 深度智识库
  • ARM64 多级页表映射机制与Linux内核实现剖析
  • 说说华南地区靠谱的DLC涂层机供应商推荐,哪家性价比高 - 工业品网
  • AutoGen Studio区块链应用:智能合约审核智能体
  • 前端就业必需技能全景图——你的最强工作指南
  • 【技术融合】DAS与主动震源协同:解锁井间地震高分辨率成像新范式
  • 瑞祥黑金卡回收,市场机制与选择逻辑,存量卡片价值释放 - 京回收小程序
  • 2026年淄博靠谱建材公司排名,山东宝盖新材料创新能力强口碑好 - 工业设备
  • 面向人工智能系统的网络威胁情报
  • Ostrakon-VL-8B识别效果极限挑战:复杂光线与遮挡下的菜品分析
  • RAG中递归分块Recursive Chunking
  • 炸裂级!提示工程架构师用提示工程突破大数据分析瓶颈
  • 语音情感识别新体验:Emotion2Vec+ Large WebUI界面,操作简单效果惊艳
  • SolidWorks 6-6、拉伸终点的其它方式与拔模
  • 【PHP 8.9类型系统终极前瞻】:20年核心贡献者独家解密RFC草案未公开的5大类型安全增强机制
  • 避坑指南:万爱通礼品卡回收注意事项你必须知道! - 团团收购物卡回收
  • [Wokwi模拟器] ESP32物联网实战(四):MQTT协议、云端数据上报与智能家居场景模拟
  • 链表----环形链表II
  • 基于STM32单片机超声波测速测距防撞报警设计+DS18B20温度液晶显示及补偿及滤波算法设计26-052
  • 不止“996”!曝硅谷AI创业圈「极限工作制」:每天16小时、凌晨3点下班、周末也在写代码
  • 避坑指南:SparkSQL临时表创建时最容易忽略的3个问题(内存泄漏/命名冲突/会话隔离)
  • 新质生产力下的新能源革命:电流传感器如何助力能源系统智能升级?
  • 【开集检测新范式】Grounding DINO:多阶段融合的视觉语言Transformer如何革新目标检测?
  • 【MCP跨语言SDK开发权威指南】:20年架构师亲授插件下载、安装与避坑全流程
  • Step3-VL-10B-Base模型API安全设计:防范常见网络攻击
  • Nanbeige 4.1-3B 构建AI Agent:自主任务规划与执行框架
  • 【普中STM32F1xx开发攻略--标准库版】-- 第 36 章 DS18B20 温度传感器实验
  • Gemma-3-270m在软件测试中的智能用例生成实践
  • 【PHP电商高并发订单处理黄金法则】:20年架构师亲授秒杀场景下零超卖、零重复下单的5大核心策略
  • ESP32S3低成本热成像系统设计与实现