SQL —— 视图

1. 为什么使用视图

1) 提高数据的安全型,不同权限的用户可以查看数据的不同。

2) 符合用户日常业务逻辑

2. 什么是视图

视图是一种查看数据库中一个或多个表中的数据的方法。

视图是一种虚拟表。 通常是作为来自一个或多个表中的行或列的子集创建的,当然他也可以包含全部的行和列。

视图并不是数据库中存储的数据值的集合,它的行和列来自查询中引用的表。在执行时,他直接显示来自表中的数据。

3. 视图的作用

筛选表中的行

防止未经许可的用户访问敏感数据

将多个物理数据表抽象为一个逻辑数据表

4. 如何创建视图

方法一: 使用SSMS,选中数据库, 选择“视图”选项并右击,在弹出的快捷菜单中选择“新建视图项”, 添加药学查询的表, 选择希望查看到的列,保存视图。

方法二: 使用语句创建,语法:

create view view_name

as

<select 语句>

5. 视图语法整理:

1) 创建视图

create view view_name

as

<select 语句>

2) 修改视图

alter view view_name

as

<select 语句>

3)删除视图

drop view view_name

4)修改视图名称

exec  sp_rename  view_oldname   view_newname

5) 查看视图

select  列名  from view_name

6.  注意事项

每个视图中可以使用多个表

与查询相似,一个视图可以嵌套另一个视图,但最好不要超过3层。

视图定义中  select 语句不能包括一下内容

order by 字句,除非在select 语句的选择列中也有一个top字句

into 关键字

引用临时表或表变量

7. 视图的优缺点

优点: 简单、 安全、逻辑数据独立

缺点: 性能,修改限制

如果视图中存在函数或涉及复杂的多表查询,那么用户在查询视图的过程中会花费一定的时间。

对于简单的视图可以使用update 语句更新,如果对于复杂的视图可能就不能使用了。删除亦是如此。所以对于视图的用法最好只停留到查询上面。

时间: 2024-10-13 15:46:58

SQL —— 视图的相关文章

SQL视图&amp;触发器

SQL视图 在 SQL 中,视图是基于 SQL 语句的结果集的可视化的表. 视图包含行和列,就像一个真实的表.视图中的字段就是来自一个或多个数据库中的真实的表中的字段.我们可以向视图添加 SQL 函数.WHERE 以及 JOIN 语句,我们也可以提交数据,就像这些来自于某个单一的表. SQL CREATE VIEW 语法 CREATE VIEW view_name AS SELECT column_name(s) FROM table_name WHERE condition 视图的优点:1,可

sql视图

什么是视图 大家都知道,我们国家现在“神七”上天了.从美国的月球登月开始,人类上天不再是神话.听说,在美国,你只要出几十万美元,您就可以上一次月球进行太空旅行,所以,我们相信:在不久的将来,上天旅行将走进我们百姓的生活,那是一件多么新鲜神奇的事情啊.好多美国人上天后,他们用望远镜观看我们的地球,结果看到的地球形状各不相同.有的说象绿色的橘子,有的说象白色的大鸭梨,有的说象蓝色的大西瓜.这是为什么呢?你肯定会说:那是因为从不同的角度(视角),看到的不同形状而已.那么,从不同的视角,将看到不同的“图

sql 视图的作用(转http://www.cup.edu.cn/nic/Programing/database/34943.htm)

前段时间作项目中,遇到使用视图的问题,以前的工作中很少遇到视图,认为直接用表就ok了,何须视图呢?下面我来讲述一下它的功用:以往当我们查询数据时,一定要很认真的地从设计select语句开始,将需要查询的每个字段写在sql语句里, 前段时间作项目中,遇到使用视图的问题,以前的工作中很少遇到视图,认为直接用表就ok了,何须视图呢?下面我来讲述一下它的功用:以往当我们查询数据时,一定要很认真的地从设计select语句开始,将需要查询的每个字段写在sql语句里,每次你要以同样的条件来查询数据时,那么每次

SQL 视图(Views)

SQL 视图(Views) 视图是可视化的表. 本章讲解如何创建.更新和删除视图. SQL CREATE VIEW 语句 在 SQL 中,视图是基于 SQL 语句的结果集的可视化的表. 视图包含行和列,就像一个真实的表.视图中的字段就是来自一个或多个数据库中的真实的表中的字段. 您可以向视图添加 SQL 函数.WHERE 以及 JOIN 语句,也可以呈现数据,就像这些数据来自于某个单一的表一样. SQL CREATE VIEW 语法 CREATE VIEW view_name AS SELECT

基于成本的优化--CBO-------v$SQL视图

详解v$SQL视图 查询消耗磁盘I/O最多的SQL语句 select sql_text,executions,disk_reads from v$sql where disk_reads>&number order by disk_reads desc; 使用变量&number使得用户可以自定义磁盘读取的次数,executions说明语句执行的时间量,包括该语句的等待时间和服务时间 分析缓冲区读取次数最多的SQL语句 查询逻辑读取数最多的SQL语句 select sql_text,b

GeoServer 查询sql视图

说明: 最近项目中遇到一个需求,需要统计管网的长度,但管网数据量非常大,前端用openlayers接口统计直接就奔溃了. 后尝试使用调后台接口查数据库的方式,虽然可行但是又要多一层与后台交互的工作. 后来研究发现,GeoServer还能发布数据库表或视图,这样的话就可以跳过后台直接查询数据库了,完美解决了统计大数据的问题. 解决方案: 1.登陆GeoServer ==> 找到图层目录 ==> 添加新的资源 2.添加新图层里选中以PG为源的图层,点击“配置新的SQL视图” 3.从上至下,填完信息

SQL 视图

视图: 1.视图的概述       视图其实就是一条查询sql语句,用于显示一个或多个表或其他视图中的相关数据.视图将一个查询的结果作为一个表来使用,因此视图可以被看作是存储的查询或一个虚拟表.视图来源于表,所有对视图数据的修改最终都会被反映到视图的基表中,这些修改必须服从基表的完整性约束,并同样会触发定义在基表上的触发器.(Oracle支持在视图上显式的定义触发器和定义一些逻辑约束) 2.视图的存储       与表不同,视图不会要求分配存储空间,视图中也不会包含实际的数据.视图只是定义了一个

sql视图实例

一个视图是一个或一组SQL语句,存储在数据库中相关的名称.一个视图实际上是一个预定义的SQL查询中的表的形式组成. 一个视图可以包含一个表的所有行,或选择表中的行.从一个或多个表上写SQL查询创建一个视图,视图可以被创建. 这是一种虚拟表的视图,允许用户执行以下操作: 发现自然或直观的用户或用户类的结构数据的方式. 限制访问的数据,例如,用户可以看到和(有时)修改正是他们所需要的并没有更多. 总结从可以用于生成报告的各种表的数据. 创建视图: 使用CREATE VIEW语句创建数据库视图.从一个

SQL Server T—SQL 视图 事务

一 视图 视图是存储在数据库中的查询的SQL 语句, 视图是从一个或多个表或视图中导出的表,是一张虚表,只能对视图进行查询,不能增.删.改. 对视图进行修改要在相应的基本表中进行修改,修改会自动的反应到视图 创建视图:               create  view  视图名 as SQL查询语句               -- 视图中不能出现重复列 视图的用法: select * from 视图名 二 事务 保障流程的完整执行,就像银行取钱,先在你账上扣钱,然后存入别人的账上:但是从你

【SQL server基础】SQL视图加密,永久隐藏视图定义的文本

SQL可以对视图进行加密.也就是,可永久隐藏视图定义的文本. 注意   此操作不可逆.加密视图后,无法再修改它,因为无法再看到视图定义.如果需要修改加密视图,则必须删除它并重新创建另一个视图. 示例代码: create view userFt as select users.userID,users.userName,users.ftNum,ft.Subject,ft.Content from users inner join ft on users.userID=ft.userID go al