> 데이터 베이스 > MySQL 튜토리얼 > 再看数据库(2)视图

再看数据库(2)视图

WBOY
풀어 주다: 2016-06-07 15:58:20
원래의
1391명이 탐색했습니다.

概念 *是从用户使用数据库的观点来说的。 *从一个或多个表(视图)中导出来的 *一个虚表,或者说查询表 为什么要用视图呢? 一是 简单 ,看到的就是需要的。视图不仅可以简化用户对数据的理解,也可以简化他们的操作。那些被经常使用的查询可以被定义为视图

概念

*是从用户使用数据库的观点来说的。

*从一个或多个表(视图)中导出来的

*一个虚表,或者说查询表

为什么要用视图呢?

一是简单,看到的就是需要的。视图不仅可以简化用户对数据的理解,也可以简化他们的操作。那些被经常使用的查询可以被定义为视图,从而使得用户不必为以后的操作每次指定全部的条件。

二是 安全,通过视图用户只能查询和修改他们所能见到的数据,但不能授权到数据库特定行和特定的列上。通过视图,用户可以被限制在数据的不同子集上:使用权限可被限制在另一视图的一个子集上,或是一些视图和基表合并后的子集上。

三是逻辑数据独立性。视图可帮助用户屏蔽真实表结构变化带来的影响。

概括来说,由于用户通过视图只能查询修改他们所能见到数据,所以操作起来自然简单许多,也安全多了。这点在视图的优点处还有涉及。

操作:


创建:

方法一:

\

\

\

执行显示结果:

\

方法二:

用T-SQL语句:

use niunan
go
create view View_Test1
--要查询的内容--
as select name,title,content,createtime
--查询的表--
from category,news
--查询条件--
where category.id=news.categoryId  
로그인 후 복사

相应的,视图的修改和删除也可直接在对象资源管理器中操作,在这里就不做介绍。

修改:

use niunan
go
--要修改的视图,括号中是列名--
alter view View_Test(name,createTime)
--格式与新建视图时一致
as select name,title
from category,news
where category.id=news.categoryId 
로그인 후 복사

删除:

drop view View_Test 
로그인 후 복사

优点:

简化了对表增删改的操作。利用视图,我们可以同时从两个表中查找数据,而不用视图,就要一个一个的查询,很麻烦也容易出错。在一定程度上,使得数据库的复杂度降低,数据共享更为方便。另一方面,用户通过视图只能查看和修改他们所能见到的数据,简化了用户权限的管理。

视图与表:

视图中只存放了表的定义,但没有储存视图对应的数据,这些数据仍放在原来的数据表中。拿上面的例子说,新建的视图中并没有实际的新闻内容、类别名称等数据,它们都还是储存在原有的news,category表中。

视图可以像表一样进行增删改查的操作。

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿