转移网站如何转数据库,手表回收网网站,厦门自己建网站,智慧团建密码格式是几位视图 1#xff1a;什么是视图2#xff1a;创建视图使用视图#xff08;视图的好处#xff09;2.1.隐藏敏感字段2.2.对外提供统一访问3#xff1a;视图和真实表进⾏表连接查询 4#xff1a;修改视图数据4.1#xff1a;通过真实表修改数据#xff0c;会影响视图4.2#… 视图 1什么是视图2创建视图使用视图视图的好处2.1.隐藏敏感字段2.2.对外提供统一访问3视图和真实表进⾏表连接查询 4修改视图数据4.1通过真实表修改数据会影响视图4.2通过视图修改数据会影响基表 6删除视图 1什么是视图
视图是一张虚拟的表视图是基于一个或者多个基表或者其他视图查询的结果集视图本身不占有物理内存也不存储数据只是根据查询执行来动态生成数据。用户对普通表的操作查询更新删除也可以在视图里面操作。
2创建视图
# 语法
CREATE VIEW view_name [(column_list)] AS select_statement
create view//创建视图关键词
view_name// 视图名
column_list//视图包含的列
select_statement//视图所依赖的查询语句我们先查询一下表 然后创建一个视图 这里我们要注意一个小问题我们要防止在视图中出现名字重复 创建成功 视图用show tables 查询也在表集合里面 我们可以用视图直接查询 查询视图结构
使用视图视图的好处
2.1.隐藏敏感字段
举例查询⽤⼾的姓名和总分(隐藏学号和各科成绩
# 使⽤真实表进⾏查询
select s.name, sum(sc.score) total from student s, score sc
where s.id sc.student_id
group by sc.student_id order by s.id;# 如果使⽤真实表在查询列表中随时可以加上学号字段# 创建视图
create view v_student_total_points as
select s.id, s.name, sum(sc.score) total from student s, score sc
where s.id sc.student_id
group by s.id order by s.id;
# 使⽤视图查询只能查到学⽣姓名和总分不能再添加查询字段2.2.对外提供统一访问 3视图和真实表进⾏表连接查询
select * from v_student_total_points v, student s where v.id s.id;查询操作使用视图和使用真实表一样的有无视图是基于真实表的
4修改视图数据
4.1通过真实表修改数据会影响视图
因为视图本质是依赖于真实表的
4.2通过视图修改数据会影响基表
但是一下情况无法使用修改视图
修改真实表会影响视图修改视图同样也会影响真实表以下视图不可更新创建视图时使⽤聚合函数的视图创建视图时使⽤ DISTINCT创建视图时使⽤ GROUP BY 以及 HAVING ⼦句创建视图时使⽤ UNION 或 UNION ALL查询列表中使⽤⼦查询在FROM⼦句中引⽤不可更新视图
6删除视图
语法
drop view view_name;