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 语句更新,如果对于复杂的视图可能就不能使用了。删除亦是如此。所以对于视图的用法最好只停留到查询上面。
SQL —— 视图的更多相关文章
- SQL视图&触发器
SQL视图 在 SQL 中,视图是基于 SQL 语句的结果集的可视化的表. 视图包含行和列,就像一个真实的表.视图中的字段就是来自一个或多个数据库中的真实的表中的字段.我们可以向视图添加 SQL 函数 ...
- 关于SQL视图的创建和使用方法
SQL视图的创建和使用 视图这个东西在其他的软件中,我们也经常看得到,例如word中就有视图,我们不难发现,视图似乎是一种显示方式,就像WORD一样,有几种显示版面,这就是视图,那么SQL中的视图又该 ...
- ylb:SQL 视图(View)基础
ylbtech-SQL Server: SQL Server-SQL 视图(View)基础 SQL 视图(View)基础. 1,ylb:视图(View)基础返回顶部 -- ============== ...
- SQL 视图(Views)
SQL 视图(Views) 视图是可视化的表. 本章讲解如何创建.更新和删除视图. SQL CREATE VIEW 语句 在 SQL 中,视图是基于 SQL 语句的结果集的可视化的表. 视图包含行和列 ...
- GeoServer 查询sql视图
说明: 最近项目中遇到一个需求,需要统计管网的长度,但管网数据量非常大,前端用openlayers接口统计直接就奔溃了. 后尝试使用调后台接口查数据库的方式,虽然可行但是又要多一层与后台交互的工作. ...
- sql 视图的用法
在一个项目的实际开发过程中牵涉到复杂业务的时候,我们不可避免的需要使用中间表来进行数据连接,有的同学就说了,我可以采用Hibernate进行主外键进行关联啊?多对多,多对一,一对一,等,采用主外键关联 ...
- 多语言架构下如何正确的使用SQL视图
产品的定位 做产品的都知道,是否支持多语言直接影响到产品的定位问题. 如果一个产品周期是一年的话,要完美支持多语言最少也得在加3个月!所需时间和页面数量.数据库表的数量和表的数据量成正比. 可以看出代 ...
- sql视图实例
一个视图是一个或一组SQL语句,存储在数据库中相关的名称.一个视图实际上是一个预定义的SQL查询中的表的形式组成. 一个视图可以包含一个表的所有行,或选择表中的行.从一个或多个表上写SQL查询创建一个 ...
- 简单的3个SQL视图搞定所有SqlServer数据库字典
网上有很多SQL SERVER数据库字典的SQL语句,七零八落,我在工作整理了一下思路,总结SQL代码如下.数据库字典包括表结构(分2K和2005).索引和主键.外键.约束.视图.函数.存储过程.触发 ...
- sql视图学习笔记--视图
视图是为用户对数据多种显示需求而创建的,其主要用在一下几种情况: (1)限制用户只能访问特定表特定条件的内容,提高系统的安全性. (2)隐藏表结构.创建多种形式的数透视,满足不同用户需求. (3)将复 ...
随机推荐
- JeeSite是基于多个优秀的开源项目,高度整合封装而成的高效,高性能,强安全性的 开源 Java EE快速开发平台
JeeSite本身是以Spring Framework为核心容器,Spring MVC为模型视图控制器,MyBatis为数据访问层, Apache Shiro为权限授权层,Ehcahe对常用数据进行缓 ...
- Four Operations---hdu5938(暴力)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5938 题意:给一个不超过20位并且大于2位的数字字符串(只包含1-9)然后找到适当的位置依次放入&qu ...
- JS之setAttribute和getAttribute
1.ele.getAttribute(attributeName); 返回元素的指定属性值,如果元素没有该属性,则返回null 2.ele.setAttribute(attributeName,val ...
- Web设计者和开发者必备的28个Chrome插件
摘要 对于许多Web设计者和开发者来说,Firefox浏览器是无法超越的,对于其他人Chrome正在蚕食Firefox的浏览器市场. 在过去的两年,谷歌Chrome浏览器的发布以来,引起了人们激烈争论 ...
- C语言课本实例
1. 将一维数组的内容倒顺 #include <stdio.h>void func(int *s,int n){ int i,temp; for(i=0;i<n/2;i++) { t ...
- Ext.widget()作用是使用别名创建对象。
Ext.widget()作用是使用别名创建对象.使用已经的定义的组件的别名创建这个对象
- Inside Kolla - 04 Kolla 目录结构
Kolla 目录结构 把 Kolla 的源代码下载下来后,先从总体上分析 Kolla 的目录结构,查看顶层目录结构,使用 tree -L 1 输出 . ├── ansible ├── compose ...
- Java8 新特性default
在JDK1.8的Iterator接口中 package java.util; import java.util.function.Consumer; public interface Iterator ...
- Python模块(MySQLdb)
MySQLdb模块是python用来连接mysql的第三方模块,安装 pip install mysql-python 连接mysql: 主要两步,建立mysql连接对象.游标对象.再操作数据库 im ...
- Hadoop学习笔记: sqoop配置与使用
sqoop即SQL-to-Hadoop,是一个把数据从关系型数据库导入到Hadoop系统中的工具(HDFS,HIVE和HBase),也可以将数据从Hadoop导入到关系型数据库.本文以sqoop 1. ...