十三、视图 view

简介: 十三、视图 view

视图 view

视图是指计算机数据库中的视图,是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。

但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。

为啥需要使用视图

视图 view
(1)【安全性】保护了原表中数据的安全性,一部分比较敏感重要的数据不被暴露出去
(2)【简化SQL语句】从一定程度上,简化复杂的SQL语句

创建视图

CREATE VIEW 视图名(列1,列2...)
AS SELECT (列1,列2...)
FROM ...;

使用视图和使用表完全一样,只需要把视图当成一张表就OK了。视图是一张虚拟表。

删除视图

drop view 视图名;

视图与表数据变更

  1. 表数据变化后,在通过视图检索,得到的结果也同步发生了变化
  2. 可以通过视图插入数据,但是只能基于一个基础表进行插入,不能跨表更新数据。

WITH CHECK OPTION

如果在创建视图的时候制定了“WITH CHECK OPTION”,那么更新数据时不能插入或更新不符合视图限制条件的记录。

示例

-- 经常查询员工基本信息-- 1. 员工编号 姓名 职位 所在部门 手机号 邮箱create view emp_info_view
asselect e.empno employee_no,e.ename employee_name ,      job employee_job,d.dname depaerment_name
from emp e join dept d
on e.deptno= d.deptno-- 2. 统计各部门的薪资情况(子查询、分组、排序、函数--复杂的 、 频繁使用的sql )=== > 结果放在视图中-- 删除视图drop view emp_info_view;-- 删除原表中的记录,视图中的数据也删除deletefrom emp where empno =7934select*from emp_info_view
-- 创建视图:查询出30部门的所有员工信息,统计出总薪资create view emp_salary_view
asselect empno employee_no,       ename employee_name,       salary  employee_salary,       comm   employee_comm,       deptno department_no ,       salary + ifnull(comm,0) total_salary
from emp 
where deptno =30with check option
drop view emp_salary_view
-- (1)更新视图中 7900员工 comm 改为1000update emp_salary_view set employee_comm =1000where employee_no =7900原表中7900 数据有没有受影响?【有受影响】
select*from emp where empno =7900-- with check option 所有的对视图的操作,必须要满足视图中的where 条件update emp_salary_view set employee_comm =100where department_no=10
目录
相关文章
|
1月前
|
SQL 存储
第9章 视图view
第9章 视图view
14 0
|
3月前
|
SQL 前端开发 安全
视图的作用
视图的作用。
39 1
|
编解码 Android开发
视图 总结 基础
DragViewTaskRelease 使用FrameLayout布局(可以用其他的),内嵌imageView实现悬浮拖动和点击事件,继承View的ontouchEvent进行动作监听和移动 getX(),getY()等方法的区别(图解) BarPercentView 条形进度条(可设置 线性渐变-背景色-进度条颜色-进度条高度) 游戏下载进度条显示 zidingyiView矩形进度框,在构造函数里定义基础属性,初始化布局,定义俩个矩形,onMeasure获取宽高和onDraw方法显示
|
开发者 Python
对CBV视图的探究(1)数据显示视图
对CBV视图的探究(1)数据显示视图
61 0
|
缓存 Scala 开发者
视图(View) | 学习笔记
快速学习视图(View)
86 0
|
监控 中间件 程序员
关于开发视图
开发视图是逻辑视图的实现,它又叫实现视图,描述了在开发环境中软件的静态组织结构,主要侧重于软件模块的组织和管理。
683 0
关于开发视图
|
SQL 数据可视化 数据库
【JetPack】视图绑定 ( ViewBinding ) 各种应用 ( 视图绑定两种方式 | Activity 布局 | 对话框布局 | 自定义组件布局 | RecyclerView 列表布局 )
【JetPack】视图绑定 ( ViewBinding ) 各种应用 ( 视图绑定两种方式 | Activity 布局 | 对话框布局 | 自定义组件布局 | RecyclerView 列表布局 )
540 0
【JetPack】视图绑定 ( ViewBinding ) 各种应用 ( 视图绑定两种方式 | Activity 布局 | 对话框布局 | 自定义组件布局 | RecyclerView 列表布局 )
|
Java Android开发
【JetPack】为现有 Android 项目配置视图绑定 ( ViewBinding ) 模块 ( 视图绑定不影响传统布局操作 | 视图绑定类关联 Activity | 视图绑定类本质 )(一)
【JetPack】为现有 Android 项目配置视图绑定 ( ViewBinding ) 模块 ( 视图绑定不影响传统布局操作 | 视图绑定类关联 Activity | 视图绑定类本质 )(一)
204 0
【JetPack】为现有 Android 项目配置视图绑定 ( ViewBinding ) 模块 ( 视图绑定不影响传统布局操作 | 视图绑定类关联 Activity | 视图绑定类本质 )(一)