找回密码
 立即注册
杭州6期1—何茹 +好友
这个人很懒什么都没写
听众
2
主题
19
金钱
236
个人名片
粉丝关注
还没有人关注TA
添加表情

数据库——视图

已有 145 次阅读2021-4-13 14:01

视图
一、什么是视图
是一个虚拟的表,它不在数据库中存储数据形式保存(本身不包含数据),还是在使用视图的时候动态生成

二、视图的作用
1.数据库中数据的查询非常复杂,例如多表,子查询,编写语句较多,并且这种查询常被重复使用,那么我们就可以创建视图,避免每次写sql语句会错误,也提高了查询的效率
2.为了安全,在公司中,有些字段为保密字段,那么可以创建视图,限制对某些字段的操作。

三、视图的缺点
性能差
把视图查询的结果转化成对表的查询
修改限制
修改视图数据,必须把它转化为对基础的修改

四、视图的优点
1、提高查询效率
在数据库中非常复杂的数据,可以 创建视图避免多次编写sql语句出现的错误
2、安全
公司有些字段为保密字段,也可以通过创建视图来限制用户对某些字段进行操作
3、简单
不需要考虑后面对应的表结构

脱敏测试(加密测试)
通常情况下,数据库是敏感,(脱敏测试)不是每一个人用户都能进行访问,但是某些用户需要读取某些表中的部分数据,这是就可以定有指定条件的视图来限制用户只能访问其指定的列的数据,并提供一个视图接口进行访问。

基于这种原理,大大简化查询语句以及便携复杂条件下的数据筛选,同时也延伸出视图中套用视图,因为视图是一个表,多个视图引用视图从简化用户更复杂的数据筛选,用户只需要调用视图就可以得到经过复杂运算后的数据,提高开发效率同事也提高数据的安全性。

用户对接时把需要的字段提取出来,做为一个视图,给对方查询;(视图,可以为单表,从中查询一个结果)

五、视图的使用
(1)show tables 显示所有的表;(先去查看数据看中表),创建视图以后查看视图
       
(2)格式:create view 视图名 as (sql语句) ,创建视图
create view 新建表名  as (select * from 表名1 inner join 表2 on 表1.关键字=表2.关键字)  然后再show tables显示新建的表
select name,dept_name from dcs7;    多表创建视图,当成一个单表使用

(3)drop view 视图名,删除视图
drop view 表名;

(4)show create view 表名;查看视图(包括建表语句,视图名,编码格式)

(5)select * from 视图名,查看视图所有内容
select * from 表名    查询视图内容

可以建立个不同视图


六、视图的特点
1、视图是由基本表产生的虚表
2、视图的创建和删除不影响基础表
3、视图的更新和删除直接影响基础表
4、当视图内容来源与多个虚拟表,表结构不能删除
5、视图不能修改表的字段
6、基础表修改数据,视图也修改
7、基础表修改字段,视图不修改


创建 视图:(不影响基础表)


删除视图 (不影响基础表)
情况1:删除值(单表视图能删除视图中的数据)

情况2:删除值(合表视图不能删除:报错 Can not delete from join view ‘hz002.hz’";)
 更新值:视图修改字段值,基本表也会修改字段值
清空值:视图清空字段值,基本表也会清空字段值
视图内容来源于多个虚拟表表结构不能删除(报错:不是基础表)
无法修改视图字段,报错不是基础表
视图的更新和删除直接影响基础表
 当视图内容来源于多个虚拟表表结构不能删除
基础表修改字段,视图不修改
视图不能修改表的字段,


测试使用总结:
1、提高查询效率
2、对数据保密性,安全,针对不同字段,创建视图,保护敏感数据
3、简单






评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 立即注册