MySQL视图与数据表CRUD对比学习笔记 一、视图基础概念视图View是虚拟表本身不存储真实数据仅保存查询语句数据来源于底层基础表访问视图时动态查询基表数据。数据表Table是实体表磁盘存储真实行数据拥有完整字段、索引、约束。二、创建操作对比1. 数据表创建sqlCREATE TABLE student(id INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(20) NOT NULL,age INT,class_id INT);- 存储磁盘生成物理文件分配存储空间- 约束可设置主键、外键、非空、自增、唯一、默认值- 索引创建后可单独建立索引提升查询2. 视图创建sqlCREATE VIEW v_student_class ASSELECT s.id,s.name,c.class_nameFROM student sLEFT JOIN class c ON s.class_idc.id;- 存储仅保存SELECT查询逻辑无物理数据- 约束不支持主键、自增、外键仅继承基表字段约束- 索引标准MySQL视图无法建立索引物化视图除外创建核心差异维度 数据表 视图存储介质 物理存储真实数据 仅存储查询SQL无数据依赖关系 独立存在不依赖其他表外键除外 依赖1张/多张基表基表删除视图失效约束支持 完整约束体系 仅复用基表约束无法新增三、更新INSERT/UPDATE操作对比1. 数据表更新sql-- 新增INSERT INTO student(name,age) VALUES(张三,18);-- 修改UPDATE student SET age19 WHERE id1;- 限制仅受自身字段约束、事务、触发器限制- 影响直接修改磁盘原始数据所有关联查询同步变化2. 视图更新可更新视图sql-- 单表简单视图支持更新CREATE VIEW v_stu_simple AS SELECT id,name,age FROM student;UPDATE v_stu_simple SET name小张 WHERE id1;INSERT INTO v_stu_simple(name,age) VALUES(李四,17);视图不可更新场景1. 包含多表JOIN连接2. 使用聚合函数SUM/COUNT/MAX/GROUP BY3. DISTINCT、UNION、子查询、计算字段4. ALGORITHMTEMPTABLE算法视图更新核心差异1. 数据表无额外限制可自由增改视图有严格语法限制复杂视图无法更新2. 数据流向视图更新本质是修改底层基表视图本身不保存数据3. 权限修改视图需要同时拥有视图查询权限基表修改权限四、删除操作对比1. 数据表删除1删除表内数据sqlDELETE FROM student WHERE id1; -- 删除单行数据TRUNCATE TABLE student; -- 清空全表重置自增主键2删除整张表结构sqlDROP TABLE IF EXISTS student;- DROP直接销毁物理文件数据、索引、约束全部永久删除不可恢复无备份时- TRUNCATE清空数据保留表结构速度远快于DELETE2. 视图删除1删除视图本身无删除视图数据语法sqlDROP VIEW IF EXISTS v_student_class;- 视图无“删除行数据”操作如需删数据只能操作基表- DROP VIEW仅删除查询逻辑不会影响底层数据表及真实数据删除核心差异操作 数据表 视图删除行数据 支持DELETE/TRUNCATE直接清除物理数据 不支持必须操作基表删除结构 DROP TABLE销毁表全部数据 DROP VIEW仅删除虚拟查询定义基表完好数据丢失风险 高DROP/TRUNCATE会永久丢失业务数据 无删除视图不影响原始业务数据五、视图优缺点总结优点1. 简化复杂查询多表关联逻辑封装业务端直接查询视图2. 权限隔离仅开放部分字段给用户隐藏敏感字段手机号、工资3. 统一数据口径复杂统计逻辑统一维护一处修改全局生效4. 数据安全限制用户只能访问视图无法直接修改底层完整数据表缺点1. 性能损耗每次查询视图都会执行底层SELECT复杂视图效率低于

相关新闻

最新新闻

「 简记往来」第二十二篇:冷启动——0用户的第一个月是怎么过来的

「 简记往来」第二十二篇:冷启动——0用户的第一个月是怎么过来的

一、上线第一天,只有3个人用 简记往来上线第一天,用户数:3人。 我、我老婆、一个朋友。 不是“理想很丰满,现实很骨感”——这就是现实。没有流量、没有用户、没有评论,你做了半年的产品,就像扔进大海里…

2026/7/6 2:34:30
C++笔记之RTTI、反射、RAII简洁笔记

C++笔记之RTTI、反射、RAII简洁笔记

C++笔记之RTTI、反射、RAII简洁笔记 code review! 文章目录 C++笔记之RTTI、反射、RAII简洁笔记 1.RTTI是什么? 2.RTTI是否就是反射? 3.反射是什么? 4.auto 关键字是否就是RTTI? 5.plotjuggler是否就用了反射? 6.举一个简洁简短的示例说明RAII 1.RTTI是什么? RTTI(Run…

2026/7/6 2:34:30
usbipd-win深度解析:5个核心模块构建的Windows USB设备共享完整架构指南

usbipd-win深度解析:5个核心模块构建的Windows USB设备共享完整架构指南

usbipd-win深度解析:5个核心模块构建的Windows USB设备共享完整架构指南 【免费下载链接】usbipd-win Windows software for sharing locally connected USB devices to other machines, including Hyper-V guests and WSL 2. 项目地址: https://gitcode.com/gh_m…

2026/7/6 2:34:30
普通人用 AI 做副业还有机会吗?

普通人用 AI 做副业还有机会吗?

最近刷到几个 AI 副业案例:公众号故事多篇破万、小红书学习卡片卖出几百份、抖音图书视频销售额 20 多万。 同样是内容副业,我和很多小白一样,因为没有明确的技能基础,想找一个低门槛副业,却不知道第一步该干嘛。 所以…

2026/7/6 2:34:30
借助零代码助睿平台的自媒体运营数据分析——作品特征构建环节

借助零代码助睿平台的自媒体运营数据分析——作品特征构建环节

一、实验背景1.1 实验目标本实验以已完成清洗的自媒体明细数据为基础,利用助睿 ETL 计算标题衍生特征与关键词汇总指标,生成明细更新数据及关键词统计表,为后续的深度特征分析提供数据支撑。通过本次实验,学生应能达到以下要求&am…

2026/7/6 2:34:30
MySQL 单元 6 数据视图学习笔记

MySQL 单元 6 数据视图学习笔记

一、视图基础概述 1. 视图是什么 视图是虚拟表,本身不存储真实数据,仅保存一条SELECT查询语句;访问视图时,数据库会执行这条 SQL,动态拼接基表数据返回结果。 底层依赖一张 / 多张物理数据表(基表&#xff…

2026/7/6 2:29:29

月新闻