MySQL数据视图笔记

发布时间:2026/8/30 9:54:42

MySQL数据视图笔记
一、视图是什么· 视图是从一个或多个基本表或视图里导出的虚拟表。·只保存 SQL 定义不存储实际数据。数据仍存放在原来的基本表中。· 作用简化复杂的查询、提高安全性隐藏机密列、提供逻辑数据独立性。与表的本质区别比较点表视图数据存储物理存储真实的行数据不存数据仅查询定义二、创建视图 vs 表1. 创建视图sql CREATE VIEW 视图名 [(列别名1,列别名2,…)] AS SELECT语句 [WITH CHECK OPTION]; 示例sql -- 创建只含成年学生的视图 CREATE VIEW v_adult_student AS SELECT id, name, age FROM student WHERE age 18 WITH CHECK OPTION; · WITH CHECK OPTION通过视图增改数据时必须满足 WHERE 条件否则操作被拒绝。2. 创建表sql CREATE TABLE 表名 ( 列名 数据类型 [约束], … ); 对比要点操作表视图语法核心定义列、类型、约束只需一条SELECT查询数据存放立刻分配空间可插入数据不存放数据执行时实时查询约束定义可定义主键、外键、CHECK等不能直接设约束靠WITH CHECK OPTION强制筛选条件三、修改定义视图 vs 表1. 修改视图定义sql -- 方法1ALTER VIEW ALTER VIEW 视图名 AS 新SELECT语句; -- 方法2CREATE OR REPLACE VIEW存在则替换不存在则创建 CREATE OR REPLACE VIEW 视图名 AS 新SELECT语句; · 修改的是视图的查询逻辑对基本表的数据毫无影响。2. 修改表结构sql ALTER TABLE 表名 ADD/DROP/MODIFY/CHANGE 列…; · 会直接改变物理存储结构可能影响已有数据。对比要点操作表视图修改方式ALTER TABLE 增删改列ALTER VIEW或CREATE OR REPLACE VIEW 重新定义查询影响范围改变实际列定义可能丢失/转化数据只改虚拟定义基本不变四、删除视图 vs 表1. 删除视图sql DROP VIEW [IF EXISTS] 视图名; · 仅删除视图定义基本表及数据毫发无损。2. 删除表sql DROP TABLE [IF EXISTS] 表名; ·表结构和所有数据永久删除依赖该表的视图将失效。对比操作表视图删除命令DROP TABLEDROP VIEW后果结构数据全部消失只删虚拟定义基本表安然无恙五、查看定义快速对比目的表视图看结构DESC 表名DESC 视图名看创建语句SHOW CREATE TABLE 表名SHOW CREATE VIEW 视图名查询元数据information_schema.TABLESinformation_schema.VIEWS六、更新视图数据INSERT / UPDATE / DELETE· 对视图执行增、删、改实质上是在操作基本表的数据。·不是所有视图都能更新 必须满足“可更新视图”的条件。1. 可更新视图的条件重点视图必须满足· 只来源于单个基本表多表连接通常不可直接更新· 视图定义中不包含以下内容· 聚合函数SUM, AVG, COUNT, MAX, MIN· DISTINCT· GROUP BY / HAVING· UNION / UNION ALL· 子查询引用了 FROM 后的表· 一般来说行列与基本表一一对应的简单视图才可更新。示例sql -- 可更新的简单视图 CREATE VIEW v_student_simple AS SELECT id, name FROM student; UPDATE v_student_simple SET name张三 WHERE id1; -- 实际更新student表 -- 不可更新的视图包含聚合 CREATE VIEW v_count AS SELECT dept, COUNT(*) cnt FROM emp GROUP BY dept; -- 对此视图执行 INSERT/UPDATE/DELETE 会失败 2. WITH CHECK OPTION 的作用sql -- 视图条件只展示 age18 的学生 CREATE VIEW v_adult AS SELECT * FROM student WHERE age18 WITH CHECK OPTION; -- 成功插入 age20 的行 INSERT INTO v_adult VALUES(101,李四,20); -- 失败插入 age17 的行会被拒绝违反视图条件 INSERT INTO v_adult VALUES(102,王五,17);与直接更新表的对比更新操作直接操作表通过视图操作限制只受表自身约束主键、非空等除表约束外还受视图更新条件限制必须视图可更新检查机制无额外检查若定义时带 WITH CHECK OPTION会强制检查 WHERE 条件使用场景所有数据维护针对特定子集的安全操作七、视图与数据表全面对比总结对比项数据表 (Table)视图 (View)数据存储物理存储真实行数据虚拟表不存储数据占用空间随数据量增长仅存储定义几乎无开销创建语法CREATE TABLE 定义列定义列 CREATE VIEW … AS SELECT修改语法ALTER TABLE 改结构ALTER VIEW 重新定义查询删除影响数据与结构全部删除只删除定义基本表不受影响索引可以创建索引不能建索引查询利用基本表索引约束主键、外键、CHECK等无法直接建约束可用 WITH CHECK OPTION更新数据无额外限制满足约束即可仅简单单表视图可更新且可能受条件检查依赖关系独立存在依赖基本表表结构变化可能导致视图失效主要用途永久存储数据查询简化、安全过滤、逻辑抽象八、考试可能出现的重点问题1. “视图是否存储数据” → 不存储只存定义是虚拟表。2. 创建视图的语法以及 WITH CHECK OPTION 的含义 → 强制通过视图增改的数据满足视图条件。3. 哪些视图不可更新 → 包含聚合、DISTINCT、GROUP BY、UNION、多表连接等。4. 删除视图会不会删除基本表数据 → 不会删除视图只删定义。5. 视图的作用 → 简化复杂查询、保护数据安全、提供逻辑独立性。6. 基本表被删后视图会怎样 → 视图依然存在定义但查询时会报错失效。

相关新闻

Codex详细入门指南

Codex详细入门指南

2026/8/30 8:50:43

Codex 详细使用指南 本文是关于codex的一些基本用法的入门文档。 本文会覆盖: Codex 的基本用法AGENTS.md,也就是常说的 agent 指令文件Skill 技能自动化 AutomationsMCP、插件、子代理与 Claude / Claude Code 的联动方式用 CC Switch 管理多个工具的…

SuperMap GIS 10i(2020) GeoAI 实战:3步完成遥感影像建筑物提取(附Python脚本)

SuperMap GIS 10i(2020) GeoAI 实战:3步完成遥感影像建筑物提取(附Python脚本)

2026/8/29 15:22:39

SuperMap GIS 10i(2020) GeoAI实战:3步完成遥感影像建筑物提取(附Python脚本) 当高分辨率遥感影像遇上深度学习,地理信息行业正经历一场前所未有的技术革命。SuperMap GIS 10i(2020)的GeoAI模块将传统GIS的空间分析能力与前沿AI技…

[智能体-642]:OpenClaw Workspace Git 仓库的协同本质:把 OpenClaw 视作独立开发者

[智能体-642]:OpenClaw Workspace Git 仓库的协同本质:把 OpenClaw 视作独立开发者

2026/8/29 9:10:33

openclaw的workspace的git仓库,本质上是把openclaw看成一个开发者,workspace是git的仓库,其他开发者(智能体或程序员)都可以访问和修改gitee仓库的内容,并通过git命令和git仓库进行同步,类似多个…

多仓库协作:codex-plugin-cc的workspace根与项目配置隔离机制

多仓库协作:codex-plugin-cc的workspace根与项目配置隔离机制

2026/8/30 9:51:47

多仓库协作:codex-plugin-cc的workspace根与项目配置隔离机制 【免费下载链接】codex-plugin-cc Use Codex from Claude Code to review code or delegate tasks. 项目地址: https://gitcode.com/GitHub_Trending/co/codex-plugin-cc 用 codex-plugin-cc 在 …

Alacritty完整指南:Rust + OpenGL 跨平台终端,从安装到 tmux 布局实战

Alacritty完整指南:Rust + OpenGL 跨平台终端,从安装到 tmux 布局实战

2026/8/30 9:51:47

Alacritty完整指南:Rust OpenGL 跨平台终端,从安装到 tmux 布局实战 【免费下载链接】alacritty A cross-platform, OpenGL terminal emulator. 项目地址: https://gitcode.com/GitHub_Trending/al/alacritty Alacritty 是一款用 Rust 编写、基于…

如何快速选对:claude-skills平台专家四选一完整指南,Salesforce、Shopify、WordPress全解析

如何快速选对:claude-skills平台专家四选一完整指南,Salesforce、Shopify、WordPress全解析

2026/8/30 9:51:47

如何快速选对:claude-skills平台专家四选一完整指南,Salesforce、Shopify、WordPress全解析 【免费下载链接】claude-skills 67 Specialized Skills for Full-Stack Developers. Transform Claude Code into your expert pair programmer. 项目地址: h…

如何强制执行导入层级约束:DeepSeek-Reasonix 的 repolint 实战指南

如何强制执行导入层级约束:DeepSeek-Reasonix 的 repolint 实战指南

2026/8/30 9:51:47

如何强制执行导入层级约束:DeepSeek-Reasonix 的 repolint 实战指南 【免费下载链接】DeepSeek-Reasonix DeepSeek-native AI coding agent for your terminal. Engineered around prefix-cache stability — leave it running. 项目地址: https://gitcode.com/Gi…

如何防止文档数据泄露?LiteParse 零云端依赖安全架构完整指南

如何防止文档数据泄露?LiteParse 零云端依赖安全架构完整指南

2026/8/30 9:51:47

如何防止文档数据泄露?LiteParse 零云端依赖安全架构完整指南 【免费下载链接】liteparse A fast, helpful, and open-source document parser 项目地址: https://gitcode.com/GitHub_Trending/li/liteparse LiteParse 是一款免费的开源文档解析工具&#xf…

安全代码故障复盘的记录方法

安全代码故障复盘的记录方法

2026/8/30 9:41:47

安全代码故障复盘的记录方法强调内存安全、类型检查或权限控制的代码,仍然会出故障。依赖可能返回意外数据,配置可能错配,超时和并发会暴露遗漏的状态处理,安全校验也可能在错误的边界执行。故障复盘的意义,不是证明“…

备战数据库管理工程师校招:索引、事务、备份恢复核心考点解析

备战数据库管理工程师校招:索引、事务、备份恢复核心考点解析

2026/8/30 0:01:07

每年校招季我都会接触不少准备数据库方向笔试的同学,看到最多的状态就是:简历上写着“熟悉 MySQL”“了解索引优化”,一碰到数据库管理工程师的笔试卷,却在索引、事务、锁、备份恢复这些题目上翻车。网易这套 2018 校园招聘数据库…

数字电路时序基石:深入理解建立时间与保持时间

数字电路时序基石:深入理解建立时间与保持时间

2026/8/30 0:01:07

1. 这不是“背公式”的事:时间参数到底在约束什么你翻过数字电路教材,一定见过这两个词:建立时间(Setup Time)和保持时间(Hold Time)。它们常被并列写在触发器(Flip-Flop&#xff09…

蓝桥杯国赛超声波测距机:从单片机原理到嵌入式系统实战

蓝桥杯国赛超声波测距机:从单片机原理到嵌入式系统实战

2026/8/30 0:01:07

1. 项目缘起:从赛题到超声波测距机的诞生第八届蓝桥杯单片机设计与开发国赛的题目,我至今记忆犹新。它没有直接给出一个花哨的名字,而是用“超声波测距机”这个朴实无华的功能描述,精准地勾勒出了考核的核心。对于当时备赛的我而言…

备战数据库管理工程师校招:索引、事务、备份恢复核心考点解析

备战数据库管理工程师校招:索引、事务、备份恢复核心考点解析

2026/8/30 0:01:07

每年校招季我都会接触不少准备数据库方向笔试的同学,看到最多的状态就是:简历上写着“熟悉 MySQL”“了解索引优化”,一碰到数据库管理工程师的笔试卷,却在索引、事务、锁、备份恢复这些题目上翻车。网易这套 2018 校园招聘数据库…

数字电路时序基石:深入理解建立时间与保持时间

数字电路时序基石:深入理解建立时间与保持时间

2026/8/30 0:01:07

1. 这不是“背公式”的事:时间参数到底在约束什么你翻过数字电路教材,一定见过这两个词:建立时间(Setup Time)和保持时间(Hold Time)。它们常被并列写在触发器(Flip-Flop&#xff09…

蓝桥杯国赛超声波测距机:从单片机原理到嵌入式系统实战

蓝桥杯国赛超声波测距机:从单片机原理到嵌入式系统实战

2026/8/30 0:01:07

1. 项目缘起:从赛题到超声波测距机的诞生第八届蓝桥杯单片机设计与开发国赛的题目,我至今记忆犹新。它没有直接给出一个花哨的名字,而是用“超声波测距机”这个朴实无华的功能描述,精准地勾勒出了考核的核心。对于当时备赛的我而言…

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

2026/8/28 7:35:26

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…

导师推荐!2026最新AI论文工具测评与实用推荐

导师推荐!2026最新AI论文工具测评与实用推荐

2026/8/28 7:34:51

2026年真正好用的AI论文工具,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

告别游戏崩溃:XCOM 2模组管理器的智能革命

告别游戏崩溃:XCOM 2模组管理器的智能革命

2026/8/28 7:34:35

告别游戏崩溃:XCOM 2模组管理器的智能革命 【免费下载链接】xcom2-launcher The Alternative Mod Launcher (AML) is a replacement for the default game launchers from XCOM 2 and XCOM Chimera Squad. 项目地址: https://gitcode.com/gh_mirrors/xc/xcom2-lau…