视图的创建和使用
- 格式:doc
- 大小:40.00 KB
- 文档页数:3
数据库视图和索引的创建及使用数据库是一个用于存储和管理数据的系统,它可以通过视图和索引来提高查询和访问数据的效率。
1.视图的创建和使用:视图是一个虚拟表,它是由一个或多个实际表的子集组成的。
可以将视图看作是从一个或多个表中选择出的行和列的集合。
创建视图可以简化复杂的查询操作,隐藏表的结构,方便用户对数据进行访问。
创建视图的语法如下:```CREATE VIEW view_name ASSELECT columnsFROM tablesWHERE conditions;```其中,view_name是视图的名称,columns是需要选择的列,tables 是需要选择列的表,conditions是筛选条件。
使用视图可以像使用实际表一样进行查询操作,例如:```SELECT*FROM view_name;```视图还支持更新操作,可以对视图进行插入、更新、删除等操作,数据库会将对视图的更新映射到实际的表上。
2.索引的创建和使用:索引是对数据库表中一列或多列的值进行排序的一种结构,它可以提高查询速度,加快数据的检索。
索引可以看作是一个目录,它包含有关表中数据的信息,使得数据库在执行查询时可以更快地找到需要的数据。
创建索引的语法如下:```CREATE INDEX index_nameON table_name (column1, column2, ...);```其中,index_name是索引的名称,table_name是需要创建索引的表名,column1、column2等是需要创建索引的列名。
使用索引可以加快查询速度,例如:```SELECT*FROM table_nameWHERE column_name = value;```如果没有索引,数据库会遍历整个表来找到与条件匹配的行,如果有索引,数据库可以利用索引的结构来快速定位符合条件的行。
需要注意的是,索引并不适合所有的列和表,创建索引会占用额外的磁盘空间,并且在插入、更新和删除操作时需要维护索引的结构,会影响到数据的修改速度。
实验5 视图的创建和使用【实验目的】掌握创建与删除视图的方法掌握更新视图的方法掌握视图的查询操作【实验内容】一、创建视图1、用企业管理器创建视图此实验中以mydb1数据库中的test01、student、course、sc表为基础创建视图。
打开企业管理器,展开左侧窗口树形结构上的数据库节点,选中要创建视图的数据库(这里是mydb1),右击数据库中的“视图”对象,选择“新建视图”命令,如图1所示,就会弹出如图2所示的视图设计器窗口。
图【1】新建视图图【2】视图设计器在视图设计器窗口中右击选择“添加表”或单击工具栏上“添加表”按钮,添加所需要的表。
如图3所示。
图【3】添加表在表窗口中各字段名的前面方框里单击,选择相应的字段,或是在下面“列”的下拉列表框中选择字段,并可在“准则”列中输入提取记录时的过滤条件,在“或”列中输入提取记录所用的附加条件,最后在上面窗口中右击,选择“运行”,则在最下面的窗口中就能看到视图的结果。
如图4所示。
图【4】选择视图内容视图设计完后,点击保存图标,在弹出的“另存为”对话框中输入视图名,此实验为score_view ,最后点击“确定”按钮。
如图5所示。
图【5】保存视图2、使用向导创建视图(略)3、用T-SQL语句创建视图格式:CREATE VIEW view_name[(column1,column2,……)] Asselect_statement[with check option]例:创建所有选课学生的信息视图,如图6所示。
(3)重命名表test001为test01。
当发现表名不恰当的时候,需要为表重新命名。
使用系统存储过程sp_rename 可以为表重新命名,语法如下:sp_rename old_table_name , new_table_name请在查询管理器中输入如下的语句:Use mydb1Gosp_rename test001 , test01 /*EXEC sp_rename test001 , test01 也可以*/Go系统执行,将返回如图6所示的结果。
MySQL中的视图创建和使用方法在MySQL数据库中,视图是一种虚拟的表,它是基于查询结果的可视化表格。
通过视图,用户可以方便地使用和操作数据库中的数据,提高数据检索的效率和易用性。
本文将介绍MySQL中视图的创建和使用方法,并探讨一些使用视图的好处和注意事项。
一、视图的创建1. 创建简单视图创建视图一般使用CREATE VIEW语句,语法如下:```mysqlCREATE VIEW view_name ASSELECT column1, column2,...FROM table_nameWHERE condition;```其中,view_name是视图的名称,column1, column2,...是要选择的列,table_name是视图所依赖的表,condition是筛选行的条件。
通过这个语句,我们可以很方便地创建一个简单的视图。
2. 创建复杂视图除了简单的SELECT语句外,我们还可以在创建视图时使用复杂的查询语句,比如JOIN操作、子查询等。
下面是一个创建复杂视图的示例:```mysqlCREATE VIEW view_name ASSELECT column1, column2,...FROM table1JOIN table2 ON condition1WHERE column3 IN (SELECT column4 FROM table3 WHERE condition2);```通过这种方式,我们可以创建一个基于多个表的复杂视图,满足更复杂的数据需求。
二、视图的使用1. 查询视图查询视图和查询表的语法是一样的,只需要将表名替换为视图名即可。
例如:```mysqlSELECT * FROM view_name;```通过这个语句,我们可以像查询表一样查询视图,并获得查询结果。
2. 更新视图在MySQL中,我们可以通过更新视图来修改底层表中的数据。
如果视图满足以下条件,那么它是可更新的:- 视图必须基于单个底层表(不能是多个表的JOIN结果);- 视图中的列必须来自于视图所基于的底层表;- 视图中不存在聚合函数、GROUP BY子句或HAVING子句。
数据库实验——视图的创建与使用数据库是一种利用计算机系统来管理、存储、处理数据的技术,视图则是在数据库中使用的一种技术。
视图是一种虚拟表,实际上并不存储数据,而是使用查询语句从一个或多个表中提取所需的数据。
在本次实验中,将学习视图的创建和使用。
一、实验目的1. 理解视图的概念和特点;2. 掌握视图的创建和使用方法;3. 熟悉视图的应用场景。
二、实验内容1. 视图的创建方法;2. 视图的使用方法;3. 视图的实际应用。
三、实验过程1. 视图的创建方法视图的创建方法如下:CREATE VIEW [视图名称] AS [查询语句];例如,要从学生表中提取所有学生的姓名和学号,则可以使用以下语句创建视图:CREATE VIEW student_info AS SELECT sname, sno FROM student;这样,就创建了一个名为student_info的视图,其中包含学生表中的姓名和学号两列数据。
2. 视图的使用方法创建视图之后,可以像使用普通表一样使用视图。
例如,可以使用SELECT语句来查询视图中的数据,如下所示:SELECT * FROM student_info;这样就可以查询出student_info视图中的所有数据。
3. 视图的实际应用视图在实际应用中有很多用途,例如:(1)简化查询语句当数据库中有较多的关联表时,查询语句会变得非常复杂。
此时,可以使用视图来简化查询语句。
例如,以下语句查询学生所在的班级名称:SELECT s.sname, ame FROM student s INNER JOIN class c ON s.classno = c.classno;使用视图后,查询语句可以变得更简洁:CREATE VIEW student_class AS SELECT s.sname, ame FROM student s INNER JOIN class c ON s.classno = c.classno;SELECT * FROM student_class;(2)保护数据安全例如,可以创建只包含学生姓名和学号的视图,而不包含其他敏感数据,以确保保护学生的隐私。
视图的创建与使用一、实验目的(1) 理解视图的概念。
(2) 掌握视图的创建与维护操作。
(3) 掌握用视图管理数据的方法。
二、实验内容1.创建视图(1) 创建一个视图stu_info,用于查看学生学号、姓名和性别信息,并修改其字段定义别名。
create view stu_info(学号,姓名,性别)asselect studentID,studentname,sexfrom studentgo(2) 创建计算机专业学生基本信息视图:stu_计算机,包括学生的学号、姓名及年龄,并要求进行修改和插入操作时仍需保证该视图只有计算机专业的学生create view stu_计算机asselect studentID,studentname,age,majorfrom studentwhere major='计算机'with check optiongo(3) 建立计算机专业选修了计算机基础课程的学生视图:stu_计算机_计算机基础create view stu_计算机_计算机基础asselect student.studentID, sex,coursename,gradefrom student,course,scorewhere student.studentID=score.studentid and score.courseid=course.courseid and coursename='计算机基础'and major='计算机'(4) 建立计算机专业选修了计算机基础课程且成绩在80分以上的学生的视图v_gradecreate view v_gradeasselect student.studentID,coursename,gradefrom student,course,scorewhere student.studentID=score.studentid andscore.courseid=course.courseid and coursename='计算机基础'and major='计算机'and grade>80(5) 创建一个名为View_Student的视图,包含计算机专业所有女生的学号、课程号及相应的成绩。
MySQL中的视图创建与使用方法概述:MySQL是一款功能强大的关系型数据库管理系统,视图(View)作为其中的一个重要特性,可以提供数据的抽象和安全性控制。
本文将介绍MySQL中视图的创建与使用方法。
一、视图的概念及作用视图是一种虚拟的表,是由数据库表中的数据构成的。
视图不存储具体的数据,而是根据特定的查询语句从表中获取数据后进行展示。
视图具有以下作用:1. 简化复杂的查询:通过预定义的视图,可以将复杂的查询语句简化为一条简单的查询语句,提高查询效率和开发效率。
2. 数据安全性控制:通过视图,可以仅向用户暴露部分字段的内容,提高数据的安全性。
3. 数据抽象:视图可以隐藏底层表的复杂性,对用户屏蔽实际的数据结构,使查询更加简洁和方便。
二、创建视图的语法创建视图的语法如下:```sqlCREATE VIEW view_name ASSELECT column1, column2, ...FROM table_nameWHERE condition;其中,view_name为视图的名称,column1, column2为视图中包含的字段,table_name为数据来源的表名,condition为筛选条件。
三、创建视图的示例下面以一个学生信息管理数据库为例,创建一个名为"student_view"的视图,该视图仅包含学生的姓名和成绩字段,并且限制只显示成绩大于等于60分的学生。
首先,我们需要创建一个名为"student"的表,包含字段"id"、"name"和"score":```sqlCREATE TABLE student (id INT PRIMARY KEY,name VARCHAR(50),score INT);```接下来,我们插入一些测试数据:```sqlINSERT INTO student (id, name, score)VALUES (1, '张三', 80),(2, '李四', 90),(3, '王五', 50),(4, '赵六', 70);然后,我们创建"student_view"视图:```sqlCREATE VIEW student_view ASSELECT name, scoreFROM studentWHERE score >= 60;```四、使用视图在视图创建成功后,我们可以像操作表一样使用视图,进行查询、插入、更新和删除等操作。
数据库视图的创建与使用方法数据库视图是一种虚拟表,由数据库中的表或其他视图经过逻辑操作而得到的结果集。
它是基于数据库中的实际表的结构和数据,通过特定的查询语句进行定义和创建的。
通过使用数据库视图,我们能够简化复杂的查询操作,提高查询的效率,保护数据的安全性,并且能够隐藏表的细节,提供更加简洁的数据展示。
创建数据库视图的步骤一般如下:1. 分析需求:在创建数据库视图之前,我们首先需要明确自己的需求,确定视图的目的。
明确视图所需要展示的字段、关联的表和查询条件。
2. 设计查询语句:根据需求,设计出符合要求的查询语句。
包括选择要展示的字段、关联的表、过滤条件等。
我们可以通过数据库查询语言(如SQL)来完成这一步骤。
3. 创建视图:根据所设计的查询语句,执行创建视图的操作。
在执行创建操作之前,我们需要先确定视图要创建的数据库和表的结构。
4. 检查和测试:创建完成后,我们需要对所创建的视图进行检查和测试。
检查视图是否符合需求,是否能够正确地展示所需要的数据。
使用数据库视图的方法如下:1. 查询数据:使用视图时,我们可以像查询普通表一样,使用SELECT语句来查询视图中的数据。
例如:SELECT * FROMview_name; 即可查询视图中的所有数据。
2. 更新数据:在使用视图进行数据更新时,需要确保视图是可更新的,并且涉及的基表也是可更新的。
通过UPDATE、INSERT、DELETE等操作语句,可以对视图中的数据进行更新。
3. 使用视图作为子查询:视图可以作为子查询嵌套在其他查询语句中使用。
这样可以实现更加复杂的查询操作。
4. 数据安全性管理:通过使用视图,我们可以隐藏敏感数据或进行数据访问权限的控制。
可以通过授予或撤销用户对视图的访问权限,实现对数据的保护。
需要注意的是,在使用数据库视图时,我们需要将视图的性能影响考虑在内。
由于视图只是对基表的查询结果的封装,并不存储实际的数据,因此在查询视图时需要对基表进行实际的计算和检索。
视图的创建与使用一、实验目的(1)理解视图的概念。
(2)掌握创建视图、测试、加密视图的方法。
(3)掌握更改视图的方法。
(4)掌握用视图管理数据的方法。
二、实验内容1.创建视图(1)创建一个名为stuview2的水平视图,从数据库Student_info的Student表中查询出性别为“男”的所有学生的资料。
并在创建视图时使用with check option。
(注:该子句用于强制视图上执行的所有修改语句必须符合由Select语句where中的条件。
)create view stuview2asselect*from Studentwhere Sex='男'with check option查看视图:select*from stuview2(2)创建一个名为stuview3的投影视图,从数据库Student_info的Course表中查询学分大于3的所有课程的课程号、课程名、总学时。
并在创建时对该视图加密。
(提示:用with ENCRYPTION关键子句)create view stuview3with ENCRYPTIONasselect Cno,Cname,Total_perior from Coursewhere Credit>3查看视图:select*from stuview3(3)创建一个名为stuview4的视图,能检索出“051”班所有女生的学号、课程号及相应的成绩。
create view stuview4asselect*from SCwhere Sno=(select Sno from Studentwhere Classno='051'and Sex='女')查看视图:select*from stuview4(4)创建一个名为stuview5的视图,能检索出每位选课学生的学号、姓名、总成绩。
create view stuview5asselect Student.Sno学号,Sname姓名,Grade成绩from Student,SCwhere Student.Sno=SC.Sno查看视图:select*from stuview5若出现如上图所示情况,单击“查询”→IntelliSense→刷新本地缓存然后就解决了。
实验九视图的创建与使用(2学时)(一)实验目的1.理解视图的概念2.掌握创建视图的方法3.掌握删除视图的方法4.掌握使用视图管理数据库和方法(二)实验内容1.新建一个数据库,命名为“学生信息数据库”2.新建学生信息表,表结构如下:3.在表中插入数据4.创建视图(1)使用“创建视图向导”创建视图在“企业管理器”中单击工具栏中的“运行向导”,在弹出的“选择向导”对话框中展开“数据库/创建视图向导”,弹出“欢迎使用创建视图向导”对话框。
单击“下一步”按钮,弹出“选择数据库”对话框在“数据库”名称下拉列表框中选择数据库,在这里选择“学生信息数据库”,单击“下一步”按钮,弹出“选择对象”对话框。
选择“学生基本信息表”,单击“下一步”按钮,弹出“选择列”对话框。
选择所需要的列,如学号,姓名,性别,出生日期。
单击“下一步”按钮,弹出“定义限制”对话框。
输入视图定义的选择条件,内容:Where 院系名称=‘信息学院’ and 专业=‘信息管理’在“视图名称”文本框中输入“信息学院信息管理专业视图”,单击“下一步”按钮,弹出“正在完成创建视图向导”对话框。
单击“完成”按钮,开始建立视图的操作,弹出“向导已完成”。
(2)使用“企业管理器”管理视图在“企业管理器”中,展开SQL Server组/DBSERVER/数据库/学生信息数据库/视图,在右侧窗口中右击“信息学院信息管理专业视图”,在弹出的快捷菜单中选择“删除”菜单项。
弹出“除去对象”对话框,单击“全部除去”按钮。
删除刚才新建的视图在“企业管理器”中,展开SQL Server组/DBSERVER/数据库/学生信息数据库/视图,在右侧窗口中空白处右击,从弹出的快捷菜单中选择“新建视图”菜单项,弹出“新视图”对话框,单击工具栏中的“添加表”按钮,弹出“添加表”对话框。
选择“学生基本信息表”,单击“添加”按钮,在“新视图”对话框中出现所选择的学生基本信息表的列名称列表,如果还需要在视图中包括更多的表,则重复以上操作,依次把表添加到“新视图”对话框中。
数据库原理与应用实验报告题目:视图的创建与使用学号:_________________姓名:_________________ 教师:_________________实验题目视图的创建与使用1、实验内容视图的创建与使用2、实验目的与要求1、理解视图的概念。
2、掌握视图创建的方法。
3、掌握更改视图的方法。
3、实验环境已安装SQL Server 2008 企业版的计算机;具有局域网环境,有固定IP;4、实验结果与分析1创建教材的三个数据表Student、Course及SC。
CREATE TABLE Student(Sno CHAR(9),Sname CHAR(20),Ssex CHAR(20),Sage SMALLINT,Sdept CHAR(20));CREATE TABLE SC(Sno CHAR(9),Cno CHAR(4),Grade SMALLINT,);CREATE TABLE Course(Cno CHAR(4),Cname CHAR(40),Cpno CHAR(4),Ccredit SMALLINT,);2向三个表中插入教材中的数据。
INSERT INTO Student values(‘200215121’,’李勇’,’男’,20,’CS’); INSERT INTO Student values(‘200215122’,’刘晨’,’女’,19,’CS’);INSERT INTO Student values(‘200215121’,’王敏’,’女’,18,’MA’);INSERT INTO Student values(‘200215121’,’张立’,’男’,19,’IS’);INSERT INTO Course values(‘1’,’数据库’,’5’,4);INSERT INTO Course(Cno,Cname,Credit) values(‘2’,’数学’,2);INSERT INTO Course values(‘3’,’信息系统’,’1’,4);INSERT INTO Course values(‘4’,’操作系统’,’6’,3);INSERT INTO Course values(‘5’,’数据结构’,’7’,4);INSERT INTO Course (Cno,Cname,Credit) values(‘6’,’数据处理’,2);INSERT INTO Course values(‘7’,’PASCAL语言’,’6’,4);INSERT INTO SC V ALUES (‘200215121’, ‘1’, 92);INSERT INTO SC V ALUES (‘200215121’, ‘2’, 85);INSERT INTO SC V ALUES (‘200215121’, ‘3’, 88);INSERT INTO SC V ALUES (‘200215122’, ‘2’, 90);INSERT INTO SC V ALUES (‘200215122’, ‘3’, 80);3、创建一个名为View_Male_Student的视图,从表Student中查询出性别为男的所有学生的资料。
MySQL中的视图和触发器的创建和使用方法视图和触发器是MySQL数据库中的两个重要的特性,它们能够提高数据库的灵活性和可维护性。
本文将详细介绍MySQL中视图和触发器的创建和使用方法,并针对不同的应用场景进行分析和讨论。
一、视图的创建和使用方法1.1 视图的概念和作用视图是MySQL数据库中的一种虚拟表,它由一个或多个基本表的数据经过查询操作得到。
视图可以类比为电子表格中的筛选功能,它可以根据特定的条件和需求对表中的数据进行过滤和组合,提供一种逻辑上的数据展现方式。
视图的作用主要体现在以下几个方面:1)简化复杂的查询操作:通过视图可以将复杂的数据查询和处理过程封装为简单的调用,提高查询效率和效果。
2)实现数据安全和权限控制:通过视图可以实现数据的部分隐藏和控制,保护敏感数据的安全性。
3)提供逻辑上的数据展示:通过视图可以根据业务需求将表中的数据组合和展现,在不修改表结构的情况下满足业务需求。
1.2 创建视图的语法和示例在MySQL中,创建视图可以使用CREATE VIEW语句,语法如下:CREATE [OR REPLACE] VIEW view_name ASSELECT column1, column2, ...FROM table_name[WHERE condition];其中,view_name表示视图的名称,column1, column2等表示视图包含的字段,table_name表示基本表的名称,[WHERE condition]表示可选的过滤条件。
例如,假设有一个名为products的表,包含字段id, name, price和category,现在需要创建一个视图来展示category为'手机'的产品信息,可以使用以下语句来创建视图:CREATE VIEW view_products ASSELECT id, name, priceFROM productsWHERE category = '手机';通过上述语句,视图view_products被创建成功,现在可以通过SELECT语句来查询该视图,例如:SELECT * FROM view_products;1.3 视图的更新和删除在MySQL中,视图的更新和删除操作与普通表类似,可以使用UPDATE、INSERT和DELETE语句来操作视图。
MySQL中的视图的创建和使用方法概述:MySQL是一种开源的关系型数据库管理系统,广泛用于各种规模的应用程序中。
在数据库设计中,视图(View)是一种虚拟表,是通过查询定义的。
视图是基于一个或多个实际表的查询结果,可以像实际表一样被查询和操作。
在本文中,我们将探讨MySQL中视图的创建和使用方法。
一、视图的创建1. 创建基本视图:创建基本视图的语法如下:```sqlCREATE VIEW ViewName ASSELECT column1, column2, ...FROM TableNameWHERE condition;```其中,ViewName为视图的名称,可以自定义;column1, column2等为所选择的字段;TableName为数据源表的名称;condition是可选的筛选条件。
2. 创建带联合语句的视图:创建带联合语句的视图可以使用UNION关键字,其语法如下:```sqlCREATE VIEW ViewName ASSELECT column1, column2, ...FROM TableName1WHERE condition1UNIONSELECT column1, column2, ...FROM TableName2WHERE condition2;```此处,ViewName为视图的名称,column1, column2等为所选择的字段,TableName1和TableName2为数据源表的名称,condition1和condition2是可选的筛选条件。
3. 创建带聚合函数的视图:创建带有聚合函数的视图可以使用GROUP BY关键字,其语法如下:```sqlCREATE VIEW ViewName ASSELECT column1, column2, ..., aggregate_function(column)FROM TableNameWHERE conditionGROUP BY column1, column2, ...;```在此语法中,aggregate_function为聚合函数,column为需要聚合的字段。
实验五视图的创立和使用5.1概述5.1.1任务一理解视图的概念视图是一个虚拟表,其内容由查询定义。
同真实的表一样,视图包含一系列带有名称的列和行数据。
但是,视图并不在数据库中以存储的数据集合形式存在。
行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。
对其中所引用的基表来说,视图的作用类似于挑选。
定义视图的挑选可以来自当前或其他数据库的一个或多个表,或者其他视图。
视图被定义后便存放在数据库中,对视图中的数据的操作与对表的操作一样,可以对其进展查询、修改和删除,但对数据的操作要满足一定的条件。
当对视图所看到的数据进展修改时,相应的基表的数据也会发生变化,同时,假设基表的数据发生变化,这种变化也会自动地反映到视图中。
5.1.2任务二理解视图的优点用户可以根据自己的实际需要创立视图,使用视图有很多优点,主要有以下几点:1、简单性视图可以屏蔽数据的复杂性,简化用户对数据库的操作。
使用视图,用户可以不必理解数据库的构造,就可以方便地使用和管理数据。
那些被经常使用的查询可以被定义为视图,从而使得用户不必为以后的操作每次指定全部的条件。
2、逻辑数据独立性视图可以使应用程序和数据库表在一定程度上独立。
假设没有视图,应用一定是建立在表上的。
有了视图之后,程序可以建立在视图之上,从而程序与数据库表被视图分割开来。
3、平安性通过视图用户只能查询和修改他们所能见到的数据。
数据库中的其他数据那么既看不见也取不到。
5.2创立视图创立视图的方法有三种:在创立视图前请考虑如下原那么:➢只能在当前数据库中创立视图.➢视图名称必须遵循标识符的规那么,且对每个用户必须为唯一.此外,该名称不得与该用户拥有的任何表的名称一样.➢可在其他视图和引用视图的过程之上建立视图.SQLServer 2000允许嵌套多达32级视图➢假设要创立视图,数据库所有者必须授予用户创立视图的权限,并且用户对视图定义中所引用的表或视图要有适当的权限5.2.1任务一使用企业管理器创立视图使用企业管理器创立视图的详细操作步骤如下:1、翻开企业管理器窗口,翻开“新建视图〞对话框。
视图的创建和管理
●视图的概念
●创建视图
●查询视图
●更新视图
一.视图的概念
1.基本表(Base Table):是本身独立存在的表,如:学生表,课程表
2.视图(View):是从一个或者多个基本表导出的表
视图的结构和数据是对数据表进行查询的结果。
视图是一种数据库对象,不是真实存在的基础表而是一个虚拟表。
用户可以像对基本表一样对它进行操作。
使用视图的优点和作用:简化数据操作,提高数据安全性。
二.创建视图
1、使用企业管理器创建视图
选择数据库,在“视图”上点右键,选“新建视图”->“添加表”选用户表和视图,->”关闭”。
在表格中复选框划勾,第2个窗格中,输出框选中,可以在“所在院系”准则中输入“=’计算机’”,准则对应WHERE子句。
右键窗格,选属性,选“顶端”可以限制视图最多输出多少条记录,“DISTINCT值”可以选择不输出值相同的记录,”加密浏览”对视图定义加密。
点“!”可输出视图的结果,最后保存。
2、使用企业管理器的“向导”创建视图
“工具”->“向导”->“视图向导”->选数据库->选表->选字段->输入条件“WHERE 入学年份<’2006-1-1’”
3、用T-SQL语句创建与管理视图
1)使用CREATE VIEW 创建视图
格式:CREATE VIEW <视图名>[(<字段名>[,<字段名>]….)]
AS <子查询>
[WITH CHECK OPTION ]
(1)行列子集视图-去掉了基本表的某些字段,保留了主键
【例1】创建一个行列子集视图<计算机学生>
CREATE VIEW 计算机学生
AS
SELECT 学号,姓名,年龄,性别,所在院系
FROM 学生表WHERE 所在院系=’计算机’
(2)建立在多个表上的视图
【例2】创建计算机系中选修了“C801”课程的学生视图
CREATE VIEW 选课学生(学号,姓名,性别,所在院系,课程号,成绩)
AS
SELECT S.学号, 姓名, 性别,所在院系, 课程号, 成绩
FROM 学生表S ,成绩表C
WHERE S.学号=C.学号AND 所在院系=’计算机’ AND 课程号=’C801’
(3)在视图上的操作
【例3】创建计算机系中选修了“C801”课程并且性别为女的学生视图
CREATE VIEW 选课女学生
AS
SELECT *
FROM 选课学生
WHERE 性别=’女’
2)表达式视图
可以根据需要,增加一些字段列,在实际表中并不存在,称为虚拟字段,带虚拟字段的视图为带表达式的视图。
【例4】创建一个学生出生年份的视图
CREATE VIEW birthday(学号,姓名,出生年份)
AS
SELECT 学号,姓名,2007-年龄
FROM 学生表
3)使用集合函数创建视图
【例5】将学生的学号和平均成绩定义为一个视图。
CREATE VIEW average(学号,平均成绩)
AS
SELECT 学号,AVG(成绩) FROM 成绩表GROUP BY 学号
三.查询视图
【例7】在计算机学生的视图上,列出年龄大于20的所有学生
SELECT 学号,姓名,性别,年龄
FROM 计算机学生
WHERE 年龄>20
【例8】在average视图上查询平均成绩大于80分的学生和平均成绩
SELECT * FROM average WHERE 平均成绩>80
四.更新视图
更新视图的同时,相应的基表的数据也会发生变化
1、插入操作[INSERT ]
【例9】向计算机学生视图中插入一条新记录,其中学号为“408013101”,姓名为“张成”,性别“男”,年龄为19岁,所在院系为计算机
INSERT INTO 计算机学生
VALUES(‘408013101’,’张成’,’男’,’19’, ’计算机’)
2、修改操作[UPDATE]
【例10】将计算机学生视图中学号为“408013101”的学生姓名改为“张成成”
UPDATE 计算机学生
SET 姓名=’张成成’
WHERE 学号=’408013101’
3、删除操作[DELETE]
注意:WHERE子句中的字段应该是在视图中定义过的;
视图引用多个表时,无法用DELETE命令删除数据。
【例11】删除视图计算机学生中学号为408013101的记录
DELETE
FROM 计算机学生
WHERE 学号=’ 408013101 ’
说明:不是所有的视图都是可更新的,因为有些视图的更新不能唯一地有意义的转换成相应基本表的更新,如对平均成绩的更新。
行列子集视图是可更新的。