- 浏览: 3557703 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (1491)
- Hibernate (28)
- spring (37)
- struts2 (19)
- jsp (12)
- servlet (2)
- mysql (24)
- tomcat (3)
- weblogic (1)
- ajax (36)
- jquery (47)
- html (43)
- JS (32)
- ibatis (0)
- DWR (3)
- EXTJS (43)
- Linux (15)
- Maven (3)
- python (8)
- 其他 (8)
- JAVASE (6)
- java javase string (0)
- JAVA 语法 (3)
- juddiv3 (15)
- Mule (1)
- jquery easyui (2)
- mule esb (1)
- java (644)
- log4j (4)
- weka (12)
- android (257)
- web services (4)
- PHP (1)
- 算法 (18)
- 数据结构 算法 (7)
- 数据挖掘 (4)
- 期刊 (6)
- 面试 (5)
- C++ (1)
- 论文 (10)
- 工作 (1)
- 数据结构 (6)
- JAVA配置 (1)
- JAVA垃圾回收 (2)
- SVM (13)
- web st (1)
- jvm (7)
- weka libsvm (1)
- weka屈伟 (1)
- job (2)
- 排序 算法 面试 (3)
- spss (2)
- 搜索引擎 (6)
- java 爬虫 (6)
- 分布式 (1)
- data ming (1)
- eclipse (6)
- 正则表达式 (1)
- 分词器 (2)
- 张孝祥 (1)
- solr (3)
- nutch (1)
- 爬虫 (4)
- lucene (3)
- 狗日的腾讯 (1)
- 我的收藏网址 (13)
- 网络 (1)
- java 数据结构 (22)
- ACM (7)
- jboss (0)
- 大纸 (10)
- maven2 (0)
- elipse (0)
- SVN使用 (2)
- office (1)
- .net (14)
- extjs4 (2)
- zhaopin (0)
- C (2)
- spring mvc (5)
- JPA (9)
- iphone (3)
- css (3)
- 前端框架 (2)
- jui (1)
- dwz (1)
- joomla (1)
- im (1)
- web (2)
- 1 (0)
- 移动UI (1)
- java (1)
- jsoup (1)
- 管理模板 (2)
- javajava (1)
- kali (7)
- 单片机 (1)
- 嵌入式 (1)
- mybatis (2)
- layui (7)
- asp (12)
- asp.net (1)
- sql (1)
- c# (4)
- andorid (1)
- 地价 (1)
- yihuo (1)
- oracle (1)
最新评论
-
endual:
https://blog.csdn.net/chenxbxh2 ...
IE6 bug -
ice86rain:
你好,ES跑起来了吗?我的在tomcat启动时卡在这里Hibe ...
ES架构技术介绍 -
TopLongMan:
...
java public ,protect,friendly,private的方法权限(转) -
贝塔ZQ:
java实现操作word中的表格内容,用插件实现的话,可以试试 ...
java 读取 doc poi读取word中的表格(转) -
ysj570440569:
Maven多模块spring + springMVC + JP ...
Spring+SpringMVC+JPA
一. 视图概述
视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。
对其中所引用的基础表来说,视图的作用类似于筛选。定义视图的筛选可以来自当前或其它数据库的一个或多个表,或者其它视图。通过视图进行查询没有任何限制,通过它们进行数据修改时的限制也很少。
视图是存储在数据库中的查询的sql 语句,它主要出于两种原因:安全原因,视图可以隐藏一些数据,如:社会保险基金表,可以用视图只显示姓名,地址,而不显示社会保险号和工资数等,另一原因是可使复杂的查询易于理解和使用。
视图:查看图形或文档的方式。
视图是从一个或多个表或视图中导出的表,其结构和数据是建立在对表的查询基础上的。和表一样,视图也是包括几个被定义的数据列和多个数据行,但就本质而言这些数据列和数据行来源于其所引用的表。
所以视图不是真实存在的基础表而是一张虚表,视图所对应的数据并不实际地以视图结构存储在数据库中,而是存储在视图所引用的表中。
视图一经定义便存储在数据库中,与其相对应的数据并没有像表那样又在数据库中再存储一份,通过视图看到的数据只是存放在基本表中的数据。对视图的操作与对表的操作一样,可以对其进行查询、修改(有一定的限制)、删除。
当对通过视图看到的数据进行修改时,相应的基本表的数据也要发生变化,同时,若基本表的数据发生变化,则这种变化也可以自动地反映到视图中。
视图有很多优点,主要表现在:
•视点集中
•简化操作
•定制数据
•合并分割数据
•安全性
二. 创建视图——create view
1. 语法
create [or replace] [algorithm = {undefined | merge | temptable}] view [db_name.]view_name [(column_list)] as select_statement [with [cascaded | local] check option]通过该语句可以创建视图,若给定了[or replace],则表示当已具有同名的视图时,将覆盖原视图。select_statement是一个查询语句,这个查询语句可从表或其它的视图中查询。视图属于数据库,因此需要指定数据库的名称,若未指定时,表示在当前的数据库创建新视图。
表和数据库共享数据库中相同的名称空间,因此,数据库不能包含相同名称的表和视图,并且,视图的列名也不能重复。
2. 使用举例
eg. 本例创建一个产品表(product)和一个购买记录表(purchase),再通过视图purchase_detail查询出购买的详细信息。
create table product
(
product_id int not null,
name varchar(50) not null,
price double not null
);
insert into product values(1, 'apple ', 5.5);
create table purchase
(
id int not null,
product_id int not null,
qty int not null default 0,
gen_time datetime not null
);
insert into purchase values(1, 1, 10, now());
create view purchase_detail as select product.name as name, product .price as price, purchase.qty as qty, product .price * purchase.qty as total_value from product, purchase where product.product_id = purchase.product_id;
创建成功后,输入:select * from purchase_detail;
运行效果如下:
+-------+-------+-----+-------------+
| name | price | qty | total_value |
+-------+-------+-----+-------------+
| apple | 5.5 | 10 | 55 |
+-------+-------+-----+-------------+
1 row in set (0.01 sec)
3. 注意事项
创建视图存在如下注意事项:
(1) 运行创建视图的语句需要用户具有创建视图(crate view)的权限,若加了[or replace]时,还需要用户具有删除视图(drop view)的权限;
(2) select语句不能包含from子句中的子查询;
(3) select语句不能引用系统或用户变量;
(4) select语句不能引用预处理语句参数;
(5) 在存储子程序内,定义不能引用子程序参数或局部变量;
(6)在定义中引用的表或视图必须存在。但是,创建了视图后,能够舍弃定义引用的表或视图。要想检查视图定义是否存在这类问题,可使用check table语句;
(7) 在定义中不能引用temporary表,不能创建temporary视图;
(8) 在视图定义中命名的表必须已存在;
(9) 不能将触发程序与视图关联在一起;
(10) 在视图定义中允许使用order by,但是,如果从特定视图进行了选择,而该视图使用了具有自己order by的语句,它将被忽略。
三. 修改视图——alter view
1. 语法
alter [algorithm = {undefined | merge | temptable}] view view_name [(column_list)] as select_statement [with [cascaded | local] check option]该语句用于更改已有视图的定义。其语法与create view类似。
2. 使用举例
eg. 将上一小节中中创建的视purchase_detail进行修改,去掉qty列,语句如下:
alter view purchase_detail as select product.name as name, product .price as price, product .price * purchase.qty as total_value from product, purchase where product.product_id = purchase.product_id;
此时通过语句:select * from purchase_detail;对视图进行查询时,结果如下:
+-------+-------+-------------+
0
顶
新浪BLOG意见反馈留言板 不良信息反馈 电话:4006900000 提示音后按1键(按当地市话标准计费) 欢迎批评指正
新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑
Copyright © 1996 - 2012 SINA Corporation, All Rights Reserved
新浪公司 版权所有
<script id="PVCOUNTER_FORIE" type="text/javascript"></script><script type="text/javascript"></script><script src="http://sjs.sinajs.cn/blog7common/js/boot.js" type="text/javascript"></script><script type="text/javascript"></script><script type="text/javascript"></script>
<script src="http://blog.sina.com.cn/lm/iframe/js/blognew2011.js" type="text/javascript"></script><script src="http://blog.sina.com.cn/lm/iframe/js/blognew2011.js" type="text/javascript"></script><script src="http://blog.sina.com.cn/lm/iframe/js/blognew2011.js" type="text/javascript"></script><script src="http://blog.sina.com.cn/lm/iframe/js/blognew2011.js" type="text/javascript"></script>
发表评论
-
mysql重新安装
2014-02-25 20:28 1184如何彻底卸载MySQL 本 ... -
免费数据库
2014-02-06 23:00 1215http://db4free.net/d4f_appl ... -
Error: Cannot create Windows service for MySql. Error: 0
2013-07-08 09:41 1380Error:Cannot create Windows se ... -
Mac OS X 安装mysql过程
2013-05-09 04:14 1532Mac OS X 安装mysql过程 Posted on ... -
MySQL左连接、右连接
2012-10-15 14:18 1450MySQL左连接、右连接 ... -
mysql存储过程
2012-10-11 10:13 1493我们大家都知道MySQL 存储过程是从 MySQL 5. ... -
给表增加一列
2012-05-09 09:09 1477ALTER TABLE Teachers ADD COL ... -
将一张表的查询结果插入到另一张表(转)
2012-05-08 11:26 2483将一张表的查询结果插入到另一张表 方法一: 代码 ... -
mysql必知必会 over 存储过程和触发器
2012-03-01 13:48 1993========== 咒骂一句mysql必知必会,存储过程的 ... -
mysql视图的理解和使用
2012-03-01 09:32 1923CREATE TABLE tb_x ( xid ... -
mysql 删除表 创建表 等操作
2012-03-01 08:42 2649TRUNCATE TABLE tb_1;删除一张表 然后 ... -
insert 插入语句
2012-02-29 21:46 0一般不要使用没有明确给出列的列表的insert语句,这样很不安 ... -
超详细mysql left join,right join,inner join用法分析(转)
2012-02-29 21:01 1680下面是例子分析表A记录如下: aID aNum 1 a2005 ... -
mysql 多表查询的步骤
2012-02-29 15:11 1754子查询 我们很多时候的表 都是关联的比如 ... -
mysql主键
2012-02-29 11:06 1740/** * 主键 * 一列或者一组列,其值能够唯 ... -
mysql 中使用distinct的用法(转)
2012-02-29 09:29 1679山里人家 山里人家 主页博客相册个人档案好友i ... -
数据库事物的四个特性
2012-02-26 18:28 3260到现在为止才真的搞清楚这四个事件任务的意思。 我 ... -
Mysql的乱码的解决方式
2012-02-14 16:23 0/** * Mysql的乱码的解决方式 * ... -
DBCP,C3P0,Tomcat_JDBC 性能及稳定性测试(转)
2012-02-14 07:56 1782DBCP,C3P0,Tomcat_JDBC 性能及 ... -
MySql存储例程、存储过程
2012-02-01 19:58 1774<!--$sinatopbar--> ...
相关推荐
**MySQL数据库中的视图概述** 视图是数据库系统中一个重要的概念,它提供了一种抽象数据的方法,使得用户可以根据自己的需求看到数据库中的特定部分。在MySQL数据库中,视图是通过执行`SELECT`语句从一个或多个基本...
《Symbian视频讲座-33多视图概述》是由北航分布与计算实验室推出的系列教程,主要聚焦于Symbian操作系统中的多视图技术。在这个视频讲座中,讲师将深入浅出地介绍多视图的概念、应用以及实现机制,为观众提供一个...
《正投影与三视图概述》是一份详细阐述正投影法和三视图概念的教育材料,主要针对初学者和需要掌握技术图样绘制的人群。这份文档旨在帮助学习者理解投影法的基本概念,掌握正投影法的特性,以及学会绘制和识别三视图...
数据库管理与应用 6.1视图概述tp.pdf 学习资料 复习资料 教学资源
一基本体三视图概述二平面体的三视图及表面取点三PPT学习教案.pptx
SQL Server视图是数据库中的一种重要数据结构,它为数据库用户提供了一种从多个角度观察和访问数据的方式。视图本质上是一个虚拟表,它通过SQL查询语句定义,而这个查询语句确定了视图中将要显示的数据。尽管视图看...
之前学django时整理的视图笔记,这段时间在整理以前的东西,上传给大家以作参考
**视图概述** 视图是数据库中预定义的SQL SELECT语句的结果集。它可以包含一个或多个表的数据,也可以包含其他视图。视图的创建主要是为了以下目的: 1. **简化数据访问**:通过创建视图,用户可以隐藏复杂的查询...
#### 一、视图概述及其分类 在Oracle数据库系统中,视图是一种非常重要的逻辑结构,它可以帮助我们更高效地管理和查询数据。根据不同的应用场景和目的,视图主要分为四种类型:关系视图、内嵌视图、对象视图以及...
#### 视图概述 在Oracle数据库中,视图是一种非常重要的概念,它实质上是一条预定义的SQL查询语句,用于展示一个或多个表(或视图)中的数据。视图可以被视为一个虚拟的表,它的数据是在运行时动态从基表中获取的。...
#### 一、视图概述 视图是MySQL中一种重要的功能,它为用户提供了灵活的数据访问方式。简而言之,视图是一个虚拟表,其内容由一条SELECT语句定义。尽管视图看起来像是一个独立的表,但实际上它并不存储任何数据,...
#### 九、Oracle系统表和视图概述 Oracle提供了大量的系统表和视图来帮助管理员管理数据库。以下是一些常见的视图和表: - **DBA_开头的视图**:这些视图提供了整个数据库的全局视图。 - `DBA_USERS`: 数据库用户...
#### 一、Oracle动态性能视图概述 **Oracle动态性能视图**是一组预定义的视图,用于显示Oracle数据库的内部状态和活动信息。这些视图对于DBA(数据库管理员)来说非常重要,可以帮助他们监控数据库性能、诊断问题并...
#### 二、V$视图概述 1. **创建与访问权限**:V$视图是在安装过程中由`catalog.sql`脚本创建的,创建时都带有前缀`v_$`。为了方便用户访问,又创建了一系列前缀为`V$`的视图,即所谓的“公共视图”,这些视图实际上...
#### 数据字典技术与动态性能视图概述 在Oracle数据库中,数据字典与动态性能视图是理解数据库内部运作机制的重要工具。两者都提供了丰富的信息用于诊断问题、监控性能以及管理数据库。 #### 数据字典视图与动态...
7.3 视图概述: 视图是数据库中预定义的SQL查询结果,类似于虚拟表,但并不实际存储数据。它提供了简化数据访问和数据抽象的途径,可以隐藏复杂查询细节,提供安全访问控制,并允许对多表进行联合查询。 7.4 视图的...
#### 视图概述 视图是基于一个或多个表(或视图)导出的虚拟表,它并不实际存储数据,而是存储一条SQL查询语句。通过视图可以简化复杂的查询过程,并提供了一种安全的数据访问机制,即可以通过授予用户对视图的访问...
#### 动态性能视图概述 动态性能视图是一系列由Oracle服务器自动维护的视图,它们反映了数据库的实时状态和活动。这些视图通常以`V$`前缀命名,如`V$SESSION`、`V$PROCESS`等,其中`V$`是公共同义词,而实际的视图...
#### 一、物化视图概述 在Oracle数据库中,物化视图(Materialized View)是一种特殊的数据库对象,它存储的是一个查询的结果集,可以理解为一个预计算的快照。物化视图主要用于提高报表查询性能和实现数据复制等...