SQL复习六(视图)

视图是关系数据库系统提供给用户以多角度观察数据库中数据的一种重要方法。视图是从一个或者几个表中导出的虚拟表。视图一经定义就可以被查询和删除。也可以在视图上定义视图。用视图完成数据的更新(增,删,改)操作有一定的限制。

修改规则:

1)如果视图是从多个表使用连接操作导出的,不可以更新;

2)如果导出视图的过程中,使用了分组和集函数,不可以更新;

3)如果视图是从单个基本表使用选择和投影,导出的属性集包含了基本表的一个候选集,这个视图成为“行列子集视图”,允许对其进行更新操作。

1.1定义视图

语法:

create view  <视图名> [<列名1,列名……>]

as <select 子查询语句>

[with check option]

组成视图的列名要么全部省略,要么全部指定。下列三种情况必须明确指定组成视图的列名:

  1)某个目标列不是单纯的属性名,而是集函数或列表达式;

  2)多连接导出的视图中有几个同名列作为该视图的属性列名

  3)需要在视图中为某个列启用新的更合适的名字。

<select 子查询语句>可以是任意复杂的select语句,通常不允许有order by 和distinct短语;

with check option 表示视图进行update,insert 和delete操作时要保证更新,插入和删除的元祖满足视图定义中的谓词条件(select子查询中的条件表达式)

create viw emp_view
as select empno,ename,job,deptno from emp
with check option
create  view emp_tatal (empno,ename,tatal)
as select empno,ename,sal+ifnull(comm,0) from emp 

1.2 删除视图

语法:

drop view <视图名>

drop view emp_tatal;

1.3 查询视图

和使用基础表一样使用视图。

select * from emp_view;

1.4 更新视图

跟新视图,指着通过视图来插入,删除,和修改数据。视图的跟新最终要转化为对基本表的更新。

时间: 10-23

SQL复习六(视图)的相关文章

Hibernate复习(六)检索策略

1.立即检索策略 默认的检索策略. 缺点: select语句的数目太多,需要频繁的访问数据库,会影响检索性能.如果需要查询n个Customer对象,那么必须执行n+1次select查询语句. 这种检索策略没有利用SQL的连接查询功能.利用left join 只需一条sql语句既可以实现N+1次查询的结果.并且可能造成内存空间的浪费. 2.延迟策略 在一对多关联级别中对于<set>元素,应该优先考虑使用延迟检索策略. ? 优点 – 由应用程序决定需要加载哪些对象,可以避免执行多余的select语

SQL VIEW(视图)

视图是可视化的表. 本章讲解如何创建.更新和删除视图. SQL CREATE VIEW 语句 什么是视图? 在 SQL 中,视图是基于 SQL 语句的结果集的可视化的表. 视图包含行和列,就像一个真实的表.视图中的字段就是来自一个或多个数据库中的真实的表中的字段.我们可以向视图添加 SQL 函数.WHERE 以及 JOIN 语句,我们也可以提交数据,就像这些来自于某个单一的表. 注释:数据库的设计和结构不会受到视图中的函数.where 或 join 语句的影响. SQL CREATE VIEW

Oracle实践--PL/SQL基础之视图和索引

PL/SQL基础入门之视图和索引         PL/SQL:过程语言(Procedure  Language)和结构化语言(Structured Query Language)结合而成的编程语言,是对SQL的扩展,支持多种数据类型,如大对象和集合类型,可使用条件和循环等控制语句,可创建存储过程,程序包和触发器等,给sql语句的执行添加程序逻辑,与Oracle服务器和Oracle工具紧密集成,具有可移植性,灵活性和安全性. -----------------------------------

sql 复习练习

一.基础1.说明:创建数据库CREATE DATABASE database-name2.说明:删除数据库drop database dbname3.说明:备份sql server--- 创建 备份数据的 deviceUSE masterEXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat'--- 开始 备份BACKUP DATABASE pubs TO testBack4.说明:创建新表create ta

SQL里面的视图

--视图:就是一张虚拟表,本质上就是存储了一条查询语句的代码块.它就可以像操作表一样自由的操作视图select * from vw_Test where StudentResult>70--代码创建视图语法:--go--create view vw_名称--as-- 一条查询语句--goif exists(select * from sysobjects where name='vw_GetPageData')drop view vw_GetPageDatagocreate view vw_Ge

SQL复习框架

数据库系统 数据:date描述事物的符号 ,可以出现多种载体,比如:声音.图片.文字等 数据库:database(简写db)数据的仓库    在计算机内可以长期存储,并且可以共享的数据的集合 数据库管理系统:(DBMS)管理数据库的一些软件 sql 2008   mysql  oracle  DB2 数据库系统:包含数据库管理系统和管理员 (DBS) (第一部分):数据库 1:系统数据库 n  Master:记录系统信息sys开头 n  Msdb:代理数据库发出作业警报 n  Tempdb:临时

SQL复习五(索引)

SQL索引在数据库优化中占有一个非常大的比例, 一个好的索引的设计,可以让你的效率提高几十甚至几百倍,在这里将带你一步步揭开他的神秘面纱. 1.1 什么是索引? SQL索引有两种,聚集索引和非聚集索引,索引主要目的是提高了SQL Server系统的性能,加快数据的查询速度与减少系统的响应时间 下面举两个简单的例子: 图书馆的例子:一个图书馆那么多书,怎么管理呢?建立一个字母开头的目录,例如:a开头的书,在第一排,b开头的在第二排,这样在找什么书就好说了,这个就是一个聚集索引,可是很多人借书找某某

SQL复习一(基础知识)

1.什么是sql SQL(structure query language)是结构化查询语言,它是对关系型数据库的操作语言.它可以应用到所有的数据库中,例如:MySQL.Oracle.SQL server 等. 1.2 语法要求 SQL语句可以单行或者多行书写,以分号结尾: 可以用空格和缩进来增强语句的可读性 关键字不区分大小写,建议使用大写 2.分类 DDL:数据定义语言,用来定义数据库对象:数据库,表,列等 DML:数据库操作语言,用来定义数据库记录(数据) DCL:数据库控制语言,用来定义

SQL表连接视图触发器事务存储过程

trancate 删除    公共表表达式  修改视图 表联合:union列数目没变化,可以将结果集合并,没有改变结果的结构.多个select.行数增加而已. 表连接 改变列的数目,3列和9列的表合并成12列的表称为连接 交叉连接:cross两个表的笛卡尔积.生成辅助表,用老数据优化,需要1234纯数字连续据表 creat table num15 ( num int ) insert into num15 内连接: 外连接: