SQL Server视图的讲解

来源:脚本之家  责任编辑:小易  

在初期的工作中,要做一个系统登录验证,翻阅同事做的登录验证,发现同事们做用户名验证时,查的结果集来自一个视图,之前也弄过视图,但很少去仔细看过有关方面的详细知识,于是特意百度谷歌了一下,总结如下知识:

视图,是基于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 2008数据库分布式查询知识
  • sql server游标的介绍与使用
  • sql server三种锁定模式的知识讲解
  • sql server的一些知识点定义总结
  • c#连接sql server的实现方法
  • laravel5使用freetds连接sql server的方法
  • 详解易语言操作sql server实例
  • sql server中的select会阻塞select吗
  • sqlserver2008首次登录失败问题及解决方法
  • sql server四个系统表的知识讲解
  • 用sql语句实现分离和附加数据库的方法
  • 一段压缩ms sqlserver日志的语句
  • 一条sql语句搞定sql2000 分页
  • 根据表名和索引获取需要的列名的存储过程
  • sqlserver 触发器 数据库进行数据备份
  • sql server中datetime字段去除时间的语句
  • 查询数据排名情况sql
  • sqlsever实现更改字段名
  • sql server update语句的用法详解
  • sqlserver如何查看索引缺失及dmv使用介绍
  • 免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved