news 2026/7/7 17:25:21

数据库视图学习笔记

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
数据库视图学习笔记

视图定义

视图是虚拟表,不存储真实数据,仅保存一段查询SQL;访问视图时会动态读取底层数据表的数据,依赖真实表存在。

视图 vs 数据表:增/改/删操作对比

1. 创建

数据表

CREATE TABLE student(id INT, name VARCHAR(20));

物理占用磁盘空间,支持主键、索引、自增、外键等完整约束。

视图

CREATE VIEW v_stu AS SELECT id,name FROM student;

仅保存查询语句,无物理数据,不支持主键、外键、自增。

2. 更新

修改结构

表:ALTER TABLE student ADD age INT; 直接修改物理结构,永久生效

视图:ALTER VIEW v_stu AS SELECT id,name,age FROM student; 仅改写查询逻辑

修改数据

表:UPDATE student SET name='小王' WHERE id=1; 无限制

视图:仅单表、无聚合、无联表的简单视图可更新;带GROUP BY、多表JOIN、DISTINCT的视图只读,无法修改数据。修改视图本质是修改原表数据。

3. 删除

删除表:DROP TABLE student;

清除全部数据、表结构、索引,所有依赖该表的视图全部失效。

删除视图:DROP VIEW v_stu;

仅删除查询逻辑,底层数据表、数据完全不受影响。

核心差异汇总

存储:表是物理实体;视图是虚拟逻辑,不存数据

权限安全:表会暴露全部字段;视图可隐藏手机号、薪资等敏感字段,做数据隔离

性能:表可建立索引加速查询;视图无法单独建索引,复杂视图查询效率偏低

依赖:表独立存在;视图必须依赖底层数据表,原表丢失则视图失效

视图优缺点

优点

封装复杂多表查询,简化业务SQL编写

控制数据可见范围,实现简易数据权限隔离

统一查询口径,多业务复用同一套查询逻辑

缺点

复杂视图更新存在大量限制,不适合高频写业务

无独立索引,大批量查询性能较差

底层SQL被封装,故障排查、SQL优化难度提升

简单实操案例

-- 1. 创建原始数据表

CREATE TABLE user(uid INT PRIMARY KEY, name VARCHAR(20), phone CHAR(11));

-- 2. 创建脱敏视图(隐藏手机号)

CREATE VIEW v_user_show AS SELECT uid,name FROM user;

-- 3. 修改视图查询逻辑

ALTER VIEW v_user_show AS SELECT uid,name FROM user WHERE uid > 10;

-- 4. 通过视图修改原表数据

UPDATE v_user_show SET name='小李' WHERE uid=11;

-- 5. 删除视图

DROP VIEW IF EXISTS v_user_show;

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/7 17:24:54

Maya与AI渲染集成:Seedance 2.0多模态生成模型实战指南

🚀 30款热门AI模型一站整合,DeepSeek/GLM/Qwen 随心用,限时 5 折。 👉 点击领海量免费额度 如果你还在用传统方式在 Maya 中手动调整每一帧动画、反复测试渲染参数,那么这篇文章可能会改变你的工作流程。最近 AI 视…

作者头像 李华
网站建设 2026/7/7 17:24:21

STM32F746与L9958实现高效电机FOC控制方案

1. 项目背景与核心价值在工业自动化和机器人控制领域,电机驱动性能直接决定了整个系统的响应速度、精度和稳定性。传统方案往往面临PWM分辨率不足、电流采样延迟、控制算法效率低下等痛点。而基于STMicroelectronics的L9958驱动芯片与STM32F746ZG微控制器的组合&…

作者头像 李华
网站建设 2026/7/7 17:21:43

2026年主流通勤听书对比,一篇说清楚

每天通勤一小时,干点啥最划算?答案越来越多人选了“听书”。地铁上、洗碗时、睡觉前,那点零散时间凑起来,足够听完一本书的核心精华。可惜市面上太多听书App要么会员墙挡路,要么章章节节锁住,听个半小时弹出…

作者头像 李华
网站建设 2026/7/7 17:20:13

智能桌面工作流革命:如何用Sticky便签重塑Linux生产力生态

智能桌面工作流革命:如何用Sticky便签重塑Linux生产力生态 【免费下载链接】sticky A sticky notes app for the linux desktop 项目地址: https://gitcode.com/gh_mirrors/stic/sticky 在Linux桌面环境中,信息碎片化管理一直是提升工作效率的关键…

作者头像 李华