MySQL视图

文章目录

MySQL系列:

初识MySQLMySQL常用数据类型和表的操作增删改查(CRUD)操作(总),数据库约束数据库设计SQL联合查询

1. 视图的核心概念

虚拟表:视图的结构和内容由SELECT语句定义,不独立存储数据。

动态数据:视图的数据在查询时实时生成,反映基表的最新状态。

逻辑抽象:隐藏底层表的复杂性,提供简化的数据访问接口。

2. 视图的用途

简化复杂查询:将多表连接、子查询等复杂操作封装成视图,用户直接查询视图即可。

数据安全:通过视图限制用户访问敏感字段(如隐藏薪资列)。

逻辑独立性:修改基表结构时,可调整视图定义以保持应用层兼容。

统一数据视角:为不同用户或应用提供定制化的数据子集。

sql 复制代码
create table student(
id bigint primary key auto_increment,
name varchar(20)not null,
sno varchar(10) not null,
age int default 18,
gender tinyint(1),
enroll_date date,
class_id bigint,
foreign key(class_id) references class(id)
);
insert into student (name, sno, age, gender, enroll_date, class_id) values 
('唐三藏', '100001', 18, 1, '1986-09-01', 1),
('孙悟空', '100002', 18, 1, '1986-09-01', 1),
('猪悟能', '100003', 18, 1, '1986-09-01', 1),
('沙悟净', '100004', 18, 1, '1986-09-01', 1),
('宋江', '200001', 18, 1, '2000-09-01', 2),
('武松', '200002', 18, 1, '2000-09-01', 2),
('李逹', '200003', 18, 1, '2000-09-01', 2),
('不想毕业', '200004', 18, 1, '2000-09-01', 2);

3.创建视图

语法:

sql 复制代码
CREATE VIEW view_name [(column_list)] AS select_statement
sql 复制代码
create view v_student as select * from student s where s.id<4;

4.修改数据

sql 复制代码
update student set student.name='李白' where student.id=1;

修改真实表的数据会影响视图

修改视图数据也会影响真实表

5.删除视图

语法:

sql 复制代码
drop view view_name;

6. 视图的优点

  1. 简单性:视图可以将复杂的查询封装成⼀个简单的查询。例如,针对⼀个复杂的多表连接查询,可
    以创建⼀个视图,⽤⼾只需查询视图⽽⽆需了解底层的复杂逻辑。
  2. 安全性:通过视图,可以隐藏表中的敏感数据。例如,⼀个系统的⽤⼾表中,可以创建⼀个不包含
    密码列视图,普通⽤⼾只能访问这个视图,⽽不能访问原始表。
  3. 逻辑数据独⽴性:视图提供了⼀种逻辑数据独⽴性,即使底层表结构发⽣变化,只需修改视图定
    义,⽽⽆需修改依赖视图的应⽤程序。使⽤到应⽤程序与数据库的解耦
  4. 重命名列:视图允许⽤⼾重命名列名,以增强数据可读性
相关推荐
南城以南溫暖如初1471 小时前
外卖CPS实战指南:从技术选型到运营落地全流程解析
java·spring boot·mysql·架构·vue
ltl1 小时前
RocksDB 并发 Compaction 与 Rate Limiter
数据库
闻道且行之3 小时前
图片处理助手|泊松融合原理 + C++ 工程实现,seamlessClone 三模式一次讲透
数据库·c++·人工智能·opencv
夏炳辉.3 小时前
PostgreSQL 高可用集群核心配置参数全解:从原生流复制到 Patroni 企业级方案
数据库·postgresql
努力的小雨4 小时前
KES 开启 SSL 前,证书、端口和客户端要一起验
数据库
DevOps老兵4 小时前
AI全栈知识07:向量数据库 - Milvus/Chroma实战
数据库·ai·milvus
这个DBA有点耶4 小时前
当数据库从“存储”走向“决策”:金仓数据库的融合架构之路
数据库·架构·aigc
smilejingwei5 小时前
Trae+SQLazy 实践 SQL 国产化移植:Oracle => 达梦
数据库·sql·oracle
意疏6 小时前
2026年远控软件安全横评:六款主流工具逐项核查——官方文档、一手实测与安全事件,全摊开
大数据·前端·数据库
名不经传的养虾人6 小时前
从0到1:企业级AI项目迭代日记 Vol.90|Agent变快了,Judge定下来了
大数据·数据库·人工智能·ai编程·企业ai