SQL Server视图的讲解
程序员文章站
2022-05-16 08:13:21
在初期的工作中,要做一个系统登录验证,翻阅同事做的登录验证,发现同事们做用户名验证时,查的结果集来自一个视图,之前也弄过视图,但很少去仔细看过有关方面的详细知识,于是特意百...
在初期的工作中,要做一个系统登录验证,翻阅同事做的登录验证,发现同事们做用户名验证时,查的结果集来自一个视图,之前也弄过视图,但很少去仔细看过有关方面的详细知识,于是特意百度谷歌了一下,总结如下知识:
视图,是基于sql语句的结果集的可视化表。从用户角度来看,一个视图是从一个特定的角度来查看数据库中的数据。从数据库系统内部来看,一个视图是由select语句组成的查询定义的虚拟表。从数据库系统内部来看,视图是由一张或多张表中的数据组成的,从数据库系统外部来看,视图就如同一张表一样,对表能够进行的一般操作都可以应用于视图,例如查询,插入,修改,删除操作等。
个人理解是:db中实际是不存在这个表的,这个表是sql语句执行后生成的临时表,这个表毫无疑问是在系统临时表中。我们对这个表的增删查改都不会实际影响到真实的数据。
这样做的好处,就拿工作中的实例来说,用户登录验证中烟验证用户的密码和用户名是否一致,假设存用户信息表中还含有其他机密敏感数据,如果直接查这个表的话,比如说手贱式的用select * from 那么这会导出所有的信息,同时也有不要的内存cpu开销.所以建立一个视图,将需要做验证的字段查出一个虚拟表,然后在在这个表中查匹配。这样就可以隐藏掉机密信息。当然视图还有其他的用途,详见百度;
实际建立:创建一个视图
create view logincheck as select name ,logkey from security_user where security_user.normal =1 union select name ,logkey from security_user where security_user.normal =2
使用视图:
select logincheck.name, logincheck.logkey from logincheck
修改一个视图:
alter logincheck as select name,logkey from normal_user
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。如果你想了解更多相关内容请查看下面相关链接
推荐阅读
-
SQL SERVER 利用存储过程查看角色和用户信息的写法
-
SQL Server误区30日谈 第28天 有关大容量事务日志恢复模式的误区
-
MS SQL Server获取十二个月份的英文缩写
-
SQL Server的FileStream和FileTable深入剖析
-
SQL Server误区30日谈 第30天 有关备份的30个误区
-
浅谈SQL Server中的三种物理连接操作(性能比较)
-
SQL Server误区30日谈 第29天 有关堆碎片的误区
-
SQL Server误区30日谈 第24天 26个有关还原(Restore)的误区
-
N字符在Sql Server字段类型中的重要性概述
-
SQL Server误区30日谈 第12天 TempDB的文件数和需要和CPU数目保持一致