表的管理学习.pptx

上传人:莉*** 文档编号:73619437 上传时间:2023-02-20 格式:PPTX 页数:106 大小:566.64KB
返回 下载 相关 举报
表的管理学习.pptx_第1页
第1页 / 共106页
表的管理学习.pptx_第2页
第2页 / 共106页
点击查看更多>>
资源描述

《表的管理学习.pptx》由会员分享,可在线阅读,更多相关《表的管理学习.pptx(106页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、16.1 表概述 n表的概念n表的分类n关于临时表n在企业管理器中查看数据库中的表第1页/共106页2表的概念n表是数据库存储数据的主要对象。SQLServer数据库的表由行和列组成。第2页/共106页3表的分类 n在SQLServer中,表分为永久表和临时表两种。n数据通常存储在永久表中,如果用户不手动删除,永久表和其中的数据将永久存在。n临时表存储在tempdb数据库中,当不再使用时系统会自动删除临时表。临时表可以分为本地临时表和全局临时表。第3页/共106页4在企业管理器中查看表n在企业管理器中,展开左侧窗格中的数据库,单击“表”项,可以查看指定数据库中的表。第4页/共106页5在企业管

2、理器中查看表数据n在企业管理器中,在右侧窗格中,用鼠标右击一个表,在弹出的快捷菜单中选择“打开表返回所有行”,可以查看表中的数据。例如,查看表sysusers中的数据,如下图所示。第5页/共106页66.2 表的创建、修改、删除和查看n创建表n修改表n删除表n查看表第6页/共106页7创建表n使用企业管理器创建表n使用CREATETABLE 语句创建表第7页/共106页8列的常用属性n列名n列的数据类型n是否允许为空(NULL或NOTNULL)n主键(PRIMARYKEY)n标识列(IDENTITY)n默认值(DEFAULT)第8页/共106页91.使用企业管理器创建表n在企业管理器左侧窗格中

3、选择展开数据库“学生管理”,右键“表”项,在弹出菜单中选择“新建表”,打开表设计器。第9页/共106页10创建主键、插入列、删除列n右键单击列,在弹出菜单中选择“设置主键”,可以将当前列设置为主键列。一个表中只能存在一个主键。第10页/共106页11查看表属性n右键单击列,在弹出菜单中选择“属性”,可以查看当前表的属性。第11页/共106页122使用CREATE TABLE 语句创建表CREATETABLE 表名(列名1数据类型和长度1列属性1,列名2数据类型和长度2列属性2,.列名n数据类型和长度n列属性n,)第12页/共106页13修改表n使用企业管理器修改表。n使用ALTERTABLE

4、语句修改表第13页/共106页141.使用企业管理器修改表n在企业管理器中右键单击要修改的表,在弹出菜单中选择“设计表”,可以打开表设计器,修改表的结构第14页/共106页153.修改表名称n在企业管理器中右键单击表,在弹出菜单中选择“重命名”,可以使表名表现为编辑状态。修改表名后,单击回车键,将弹出“确认重命名”对话框。单击“是”按钮,可以完成表的重命名。n可以使用sp_rename存储过程修改表或列的名称。sp_rename 原对象名,新对象名,对象类型 第15页/共106页16删除表n在企业管理器中右键单击要删除的表,在弹出的快捷菜单中选择“删除表”,可以打开“除去对象”对话框,如下图所

5、示。单击“全部除去”按钮可以删除当前表。使用DROP TABLE语句删除表。第16页/共106页17例6-9n使用DROPTABLE语句删除“学生”表。DROPTABLE学生n使用DROPTABLE语句删除表时,不需要用户确认,因此在使用时要慎重。第17页/共106页18查看表n查看表的属性n查看表的内容第18页/共106页19查看表的属性n在企业管理器中右键单击要查看的表,在弹出菜单中选择“属性”,打开“表属性”窗口。第19页/共106页20查看表的内容 n在企业管理器中右键单击要查看的表,在弹出菜单中选择“打开表返回所有行”,可以查看指定表中的所有数据。在弹出菜单中选择“打开表返回首行”,

6、打开“输入行数”对话框。输入要查看的行数,可以查看表中指定数据的记录。第20页/共106页216.5 表的更新 包括:n数据插入n数据删除n数据修改两种更新途径:n使用企业管理器:在企业管理器中用鼠标右击要更新的表,在弹出的快捷菜单中选择“打开表返回所有行”,可以更新表中的数据。n使用T-SQL语句第21页/共106页22插入数据 n语法:INSERTINTO表名(列名1,列名2,.,列名n)VALUES(值1,值2,.,值n)第22页/共106页23例6-24n使用INSERT语句在“院系”表中添加一行数据,“院系名称”列的值为“计算机学院”,“上级编号”列的值为0。USE学生管理INSER

7、TINTO院系(院系名称,上级编号)VALUES(计算机学院,0)执行结果:(所影响的行数为1行)第23页/共106页24注意在插入数据时,还需要考虑到表的约束和规则等因素,如果插入的数据违反表约束或规则,则无法正常插入数据。例如:(1)不允许设置标识列的值(2)不允许向唯一性约束列中插入相同的数据(3)不能违反检查约束(4)不能与绑定到列的规则冲突(5)不能违反外部键约束参考【例6-25】【例6-29】第24页/共106页25删除数据n语法1:删除只涉及一个表DELETEFROM表名WHERE删除条件n语法2:删除涉及多个表如果要使用其他表的信息删除当前表的行,可以使用以下格式的DELETE

8、语句。DELETE当前表名FROM其他表名WHERE条件其中,FROM子句用于指定删除时用到的额外的表或视图及联接条件,该语句不从FROM子句指定的表中删除行,而只从“当前表名”指定的表中删除行。第25页/共106页26例6-30n使用DELETE语句从“学生”表中删除“记录编号”为2的记录。USE学生管理DELETEFROM学生WHERE记录编号=2第26页/共106页27例6-31n使用DELETE语句从“学生”表中删除所有“入学成绩”小于30的数据。USE学生管理DELETEFROM学生WHERE入学成绩30第27页/共106页28例6-32n假定已经创建了一个外部键约束FK_学生,定义

9、了“学生”表的“所属院系”列为外部键,引用“院系”表的“记录编号”列。“院系”表中存在“记录编号”为1的记录,“学生”表中存在“所属院系”等于1的记录。试删除“院系”表中“记录编号”等于1的记录。USE学生管理DELETEFROM院系WHERE记录编号=1执行结果如下:服务器:消息547,级别16,状态1,行1DELETE语句与COLUMNREFERENCE约束FK_学生冲突。该冲突发生于数据库学生管理,表学生,column所属院系。语句已终止。第28页/共106页29例6-33n使用TRUNCATETABLE 语句删除“学生”表中的全部数据。USE学生管理TRUNCATETABLE 学生第2

10、9页/共106页30示例:删除设计涉及多张表n删除院系名称为“计算机”的学生信息,则需要用到两张表(参考表6-1和表6-2):DELETE学生FROM院系WHERE学生.所属院系=院系.记录编号AND院系.院系名称=计算机第30页/共106页31修改数据n语法:UPDATE表名SET列名1=值1,列名2=值2,.,列名n=值nWHERE更新条件第31页/共106页32例6-34n使用UPDATE语句将“学生”表的所有记录的入学成绩加10。USE学生管理UPDATE学生SET入学成绩=入学成绩+10第32页/共106页33例6-35n使用UPDATE语句将“学生”表中所有班级为“一班”的记录的入

11、学成绩加10。USE学生管理UPDATE学生SET入学成绩=入学成绩+10WHERE班级=一班第33页/共106页346.6 表的查询 n在企业管理器中查询数据n使用SELECT语句实现查询第34页/共106页35在企业管理器中查询数据n在企业管理器中,用鼠标右击要查询数据的表,在弹出的快捷菜单中选择“打开表查询”,打开“查询设计器”窗口。在该窗口构建并执行查询。第35页/共106页36语句基本语法:SELECT子句INTO子句FROM子句WHERE子句GROUPBY子句HAVING子句ORDERBY子句 除了以上子句,SELECT语句中经常出现的关键字还包括UNION运算符、COMPUTE子

12、句、FOR子句和OPTION子句。第36页/共106页37最基本的SELECT语句SELECT子句的基本语法如下:SELECTALL|DISTINCTTOPnPERCENT选择显示的列表第37页/共106页38使用DISTINCTnDISTINCT的作用是显示惟一行。n例:USE学生管理SELECTDISTINCT班级FROM学生第38页/共106页39使用TOP n PERCENTn如果只需要显示“学生”表中的前3行记录,可以使用如下语句:USE学生管理SELECTTOP3*FROM学生第39页/共106页40改变显示的列标题 n使用AS关键字指定列标题。例:USE学生管理SELECTTOP

13、3姓名AS学生姓名FROM学生第40页/共106页41使用CASE函数nCASE函数可以根据指定表达式的值返回多个可能的结果之一nCASE命令的基本语法如下:CASE条件表达式WHEN值1THEN结果1.ELSE其他结果END第41页/共106页42例6-40n对“学生”表中“性别”列的值进行处理,当值等于0时返回“女”,当值等于1时返回“男”。USE学生管理SELECT姓名,CASE性别WHEN0THEN女ELSE男ENDAS性别FROM学生第42页/共106页43设置查询条件nWHERE子句用于指定限制返回的行的搜索条件。它的基本语法如下:WHERE条件表达式第43页/共106页441.简

14、单查询条件n【例6-41】使用SELECT语句查询“学生”表中所有的男生信息。USE学生管理SELECT*FROM学生WHERE性别=1第44页/共106页452使用LIKE运算符n可以在WHERE子句中使用LIKE运算符和通配符进行模糊查询。用LIKE运算符指定匹配条件的语法如下:NOTLIKE匹配串n“匹配串”可以是以下情况之一。固定字符串:这时可以用“=”运算符取代LIKE;用“!=”或“”运算符取代NOTLIKE。%:代表任意长度(长度可以为0)的字符串。例如,“a%b”表示以a开头,以b结尾的任意长度的字符串。如acb,addgb,ab等都满足该匹配串。第45页/共106页462使用

15、LIKE运算符_(下划线):代表任意单个字符。例如,a_b表示以a开头,以b结尾的长度为3的任意字符串。如acb,afb等都满足该匹配串。:指定范围或集合中的任何单个字符。例如,a-f表示在字母af之间(包括a和f)的任意一个字符。:不属于指定范围或集合的任何单个字符。例如,A-M表示不在AM之间的任意一个字符。第46页/共106页47例6-42使用SELECT语句查询“学生”表中所有姓名中包含“李”记录。USE学生管理SELECT*FROM学生WHERE姓名LIKE%李%第47页/共106页483使用AND和OR运算符AND:表示两个条件都满足时查询条件才为真OR:表示两个条件中有一个满足时

16、查询条件即为真。第48页/共106页49示例【例6-43】使用SELECT语句查询“学生”表中所有一班的女生。USE学生管理SELECT*FROM学生WHERE班级=一班AND性别=0【例6-44】使用SELECT语句查询“学生”表中所有一班和二班的学生。USE学生管理SELECT*FROM学生WHERE班级=一班OR班级=二班第49页/共106页504使用BETWEEN运算符在WHERE子句中使用BETWEEN运算符可以查询指定范围的记录。【例6-45】使用SELECT语句查询“学生”表中所有入学成绩在550580之间的学生记录。USE学生管理SELECT*FROM学生WHERE入学成绩BE

17、TWEEN550AND580第50页/共106页51对查询结果排序使用ORDERBY子句可以对查询结果进行排序。基本语法:ORDERBY排序表达式ASC|DESC,.n参数说明:排序表达式可以是一个列,也可以是一个表达式。在ORDERBY子句中,可以同时按照多个排序表达式进行排序,排序的优先级从左至右。ASC表示按照递增的顺序排列,ASC为默认值。DESC表示按照递减的顺序排列。第51页/共106页52例6-46使用SELECT语句查询表“学生”所有记录,按照入学成绩从大到小排序。USE学生管理SELECT*FROM学生ORDERBY入学成绩DESC第52页/共106页53使用聚合函数SELE

18、CT语句不仅可以显示表或视图中的列,还可以对列应用聚合函数,实现对表中指定数据的统计,如求总和、计数、求平均值等。第53页/共106页541COUNT()函数COUNT()函数可以用于统计记录个数。【例6-47】统计“学生”表的记录个数。USE学生管理SELECTCOUNT(*)AS记录数量FROM学生第54页/共106页552AVG()函数AVG()函数可以统计指定表达式的平均值。【例6-48】统计“学生”表中所有学生的平均入学成绩。USE学生管理SELECTAVG(入学成绩)AS平均成绩FROM学生第55页/共106页563SUM()函数SUM()函数可以统计指定表达式的和。【例6-49】

19、统计“学生”表中所有学生的入学成绩之和。USE学生管理SELECTSUM(入学成绩)AS成绩之和FROM学生第56页/共106页57聚合函数与WHERE子句结合使用【例6-50】统计“学生”表中所有一班学生的平均入学成绩。USE学生管理SELECTAVG(入学成绩)AS平均成绩FROM学生WHERE班级=一班 聚合函数还包含MAX()和MIN()等,分别用于计算最大值和最小值,其使用方法和以上函数的使用方法类似。第57页/共106页58对查询结果分组当SELECT子句中包含聚合函数时,可以使用GROUPBY子句对查询结果进行分组统计,计算每组记录的汇总值。GROUPBY子句的基本语法如下:GR

20、OUPBYALL分组表达式,.n第58页/共106页59例6-51在“学生”表中按性别统计所有学生的最高成绩。USE学生管理SELECTCASE性别WHEN0THEN女ELSE男ENDAS性别,MAX(入学成绩)AS最高成绩FROM学生GROUPBY性别第59页/共106页60注意在使用GROUPBY子句时,SELECT子句中每一个非聚合表达式内的所有列都应包含在GROUPBY列表中。否则将会返回错误信息。第60页/共106页61例6-52执行下面的语句会因为GROUPBY表达式与SELECT子句不匹配而产生错误。USE学生管理SELECTCASE性别WHEN0THEN女ELSE男ENDAS性

21、别,班级,MAX(入学成绩)AS最高成绩FROM学生GROUPBY性别执行结果如下:服务器:消息8120,级别16,状态1,行1列学生.班级在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在GROUPBY子句中。第61页/共106页62指定组或聚合的搜索条件HAVING子句的功能是指定组或聚合的搜索条件。HAVING通常与GROUPBY子句一起使用。如果不使用GROUPBY子句,HAVING的作用与WHERE子句一样。HAVING与WHERE的区别在于:WHERE子句搜索条件在进行分组操作之前应用;而HAVING搜索条件在进行分组操作之后应用。HAVING语法与WHERE语法类似,但在

22、HAVING子句中可以包含聚合函数。第62页/共106页63例6-54统计最高入学成绩超过590的院系及最高入学成绩信息。USE学生管理SELECT所属院系,MAX(入学成绩)AS最高成绩FROM学生GROUPBY所属院系HAVINGMAX(入学成绩)590第63页/共106页64例6-55统计最高入学成绩超过590的院系及最高入学成绩信息,使用WHERE子句包含聚合函数。USE学生管理SELECT所属院系,MAX(入学成绩)AS最高成绩FROM学生WHEREMAX(入学成绩)590GROUPBY所属院系运行结果如下:服务器:消息147,级别15,状态1,行2 聚合不应出现在WHERE子句中,

23、除非该聚合位于HAVING子句或选择列表所包含的子查询中,并且要对其进行聚合的列是外部引用。第64页/共106页65连接查询在很多情况下,需要从多个表中提取数据,组合成一个结果集。如果一个查询需要对多个表进行操作,则将此查询称为连接查询。例如,在“学生”表中“所属院系”列的值是数字类型,不方便用户查看,而该列的值对应于“院系”表中的“记录编号”列。可以使用连接查询,从表“学生”和表“院系”中同时获取数据,从而可以显示学生所在院系的名称。连接查询包括内连接、外连接和交叉连接等。第65页/共106页661.内连接内连接使用比较运算符(最常使用的是等号,即等值连接),根据每个表共有列的值匹配两个表中

24、的行。只有每个表中都存在相匹配列值的记录才出现在结果集中。在内连接中,所有表是平等的,没有主次之分。第66页/共106页67例6-57使用内连接从“学生”表和“院系”表中同时获取数据,查询所有学生的姓名及其所在院系的名称。USE学生管理SELECTt1.院系名称,t2.姓名FROM院系t1,学生t2WHEREt1.记录编号=t2.所属院系还可以使用INNERJOIN关键字来定义内部连接。例如,上面的SELECT语句也可以使用下面的语句来代替:USE学生管理SELECTt1.院系名称,t2.姓名FROM院系t1INNERJOIN学生t2ONt1.记录编号=t2.所属院系第67页/共106页682

25、.外连接与内连接相对,参与外连接的表有主次之分。以主表的每一行数据去匹配从表中的数据列,符合连接条件的数据将直接返回到结果集中,对那些不符合连接条件的列,将被填上NULL值后再返回到结果集中。外连接可以分为左向外连接、右向外连接和完整外部连接3种情况。第68页/共106页69左向外连接左向外连接以连接(JOIN)子句左侧的表为主表,主表中所有记录都将出现在结果集中。如果主表中的记录在右表中没有匹配的数据,则结果集中右表的列值为NULL。可以使用*=符号定义左连接。第69页/共106页70例6-58使用左向外连接从“院系”表和“学生”表中同时获取数据,查询所有学生的姓名和所在院系名称,其中表“院

26、系”为主表。USE学生管理SELECTt1.院系名称,t2.姓名FROM院系t1,学生t2WHEREt1.记录编号*=t2.所属院系还可以使用LEFTOUTERJOIN或LEFTJOIN关键字定义左向外连接。例如,上例可以写为:USE学生管理SELECTt1.院系名称,t2.姓名FROM院系t1LEFTJOIN学生t2ONt1.记录编号=t2.所属院系第70页/共106页71例6-58使用左向外连接的查询结果第71页/共106页72右向外连接右向外连接以连接(JOIN)子句右侧的表为主表,主表中所有记录都将出现在结果集中。如果主表中的记录在左表中没有匹配的数据,则结果集中左表的列值为NULL。

27、可以使用=*符号定义右向外连接。第72页/共106页73例6-59使用右向外连接从“院系”表和“学生”表中同时获取数据,查询所有学生的姓名和所在院系名称,其中“院系”表为主表。USE学生管理SELECTt1.院系名称,t2.姓名FROM院系t1,学生t2WHEREt2.所属院系=*t1.记录编号还可以使用RIGHTOUTERJOIN或RIGHTJOIN关键字定义右向外连接。例如,上面的语句也可以写成:USE学生管理SELECTt1.院系名称,t2.姓名FROM学生t2RIGHTJOIN院系t1ONt1.记录编号=t2.所属院系第73页/共106页74例6-59使用右向外连接的查询结果第74页/

28、共106页75完整外部连接完整外部连接包括连接表中的所有行,无论它们是否匹配。在SQLServer2000中,还可以使用FULLOUTERJOIN或FULLJOIN关键字定义完整外部连接。第75页/共106页76例6-60使用完整外部连接从“院系”表和“学生”表中同时获取数据,查询所有学生的姓名和所在院系名称。USE学生管理SELECTt1.院系名称,t2.姓名FROM学生t2FULLJOIN院系t1ONt1.记录编号=t2.所属院系ON子句用于指定两个表之间的连接关系。完整外部连接相当于左向外连接和右向外连接的并集。第76页/共106页77例6-60完整外部连接执行结果第77页/共106页7

29、8使用IS NULL和IS NOT NULL。在使用外连接时,结果集中会出现一些值为NULL的记录。在查询条件中使用ISNULL或ISNOTNULL关键字,可以查询某字段值等于或不等于NULL的记录。第78页/共106页79例6-61使用外连接查询没有学生的院系。USE学生管理SELECTt1.院系名称,t2.姓名FROM院系t1LEFTJOIN学生t2ONt1.记录编号=t2.所属院系WHEREt2.姓名ISNULL第79页/共106页803.交叉连接在交叉连接查询中,两个表中的每两行都可能互相组合成为结果集中的一行。交叉连接并不常用,除非需要穷举两个表的所有可能的记录组合。【例6-62】使

30、用交叉连接从“院系”表和“学生”表中同时获取数据,查询所有学生的姓名和所在院系名称。USE学生管理SELECTt1.院系名称,t2.姓名FROM学生t2CROSSJOIN院系t1第80页/共106页81例6-62交叉连接执行结果第81页/共106页82子查询子查询就是在一个SELECT语句中又嵌套了另一个SELECT语句。在WHERE子句和HAVING子句中都可以嵌套SELECT语句。第82页/共106页831使用IN关键字连接子查询【例6-63】查询和小赵在同一个班的所有学生姓名,可以使用以下命令:SELECT姓名FROM学生WHERE班级IN(SELECT班级FROM学生WHERE姓名=小

31、赵)第83页/共106页842使用等号连接子查询【例6-64】要显示软件系的所有学生信息,可以使用以下命令:USE学生管理SELECT*FROM学生WHERE所属院系=(SELECT记录编号FROM院系WHERE院系名称=软件系)第84页/共106页853使用EXISTS关键字连接子查询【例6-65】要显示软件系的所有学生信息,可以使用以下命令:USE学生管理SELECT*FROM学生WHEREEXISTS(SELECT*FROM院系WHERE记录编号=学生.所属院系AND院系名称=软件系)EXISTS关键字用于检测子句的结果集是否为空。第85页/共106页86合并查询合并查询是将两个或更多查

32、询的结果组合为单个结果集,该结果集包含联合查询中的所有查询的全部行。使用UNION运算符组合两个查询的结果集的两个前提是:所有查询结果中的列数和列的顺序必须相同;对应列的数据类型必须兼容。合并查询经常用来返回明细和统计信息。因为明细和统计信息需要分别统计,所以可以使用合并查询将它们统一到一个结果集中。第86页/共106页87【例6-67】显示所有学生的入学成绩明细和总成绩统计,可以使用以下命令:USE学生管理SELECT姓名,性别,入学成绩FROM学生UNIONSELECT合计,NULL,SUM(入学成绩)FROM学生ORDERBY入学成绩第87页/共106页88注意合并查询中只能使用一个OR

33、DERBY子句,它对整个结果集起作用。如果分别为每个SELECT语句指定ORDERBY子句,将会出现错误。合并查询中可以使用多个UNION关键字,将两个以上的SELECT语句合并在一起。第88页/共106页89 6.8 视图管理视图是保存在数据库中的SELECT查询,其内容由查询定义,因此,视图不是真实存在的基础表,而是从一个或者多个表中导出的虚拟的表。同真实的表一样,视图包含一系列带有名称的列和行数据,但视图中的行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。因此,视图所对应的数据并不实际地以视图结构存储在数据库中,而是存储在视图所引用的表中。第89页/共106页90视图

34、概述视图看上去同表似乎一模一样,具有一组命名的字段和数据项,但它其实是一个虚拟的表,在物理上并不实际存在。视图是由查询数据库表产生的,它限制了用户能看到和修改的数据。视图兼有表和查询的特点:与查询相类似的是,视图可以用来从一个或多个相关联的表或视图中提取有用信息;与表相类似的是,视图可以用来更新其中的信息,并将更新结果永久保存在磁盘上。我们可以用视图使数据暂时从数据库中分离成为游离数据,以便在主系统之外收集和修改数据。第90页/共106页91视图的特点视图可以使用户只关心他感兴趣的某些特定数据,不必要的数据可以不出现在视图中。视图增强了数据的安全性。使用视图可以屏蔽数据的复杂性。简化数据操作。

35、视图可以让不同的用户以不同的方式看到不同或者相同的数据集。组合分区数据。用户可以把来自不同表的两个或多个查询结果组合成单一的结果集。这在用户看来是一个单独的表,称为分区视图。第91页/共106页92创建视图使用企业管理器创建视图使用CREATEVIEW语句创建视图第92页/共106页93使用企业管理器创建视图在企业管理器中,展开指定数据库,用鼠标右击“视图”目录,在弹出的快捷菜单中选择“新建视图”,打开“视图设计器”窗口。在此窗口中创建视图。第93页/共106页94使用CREATE VIEW语句创建视图CREATEVIEW视图名(列名,.n)WITHENCRYPTIONASSELECT语句第9

36、4页/共106页95使用CREATE VIEW语句创建视图参数说明:视图名:视图的名称,必须符合标识符的命名规则。列名:视图中的列名称,如果省略列名,则视图的列采用SELECT语句产生的列名。当列是从算术表达式、函数或常量派生的,两个或更多的列可能会具有相同的名称(通常是因为连接),或者视图中的某列被需要赋予了不同于派生来源列的名称时,需要指定列名。WITHENCRYPTION:对包含在系统表syscomments内的CREATEVIEW语句文本进行加密。SELECT语句:用于创建视图的SELECT语句,利用SELECT语句可以从表或视图中选择列构成新视图的列。第95页/共106页96例6-7

37、5使用CREATEVIEW语句创建视图“软件系学生简表1”。CREATEVIEW软件系学生简表1ASSELECT学生.姓名,学生.性别,学生.班级,院系.院系名称FROM学生INNERJOIN.院系ON学生.所属院系=院系.记录编号WHERE院系.记录编号=2第96页/共106页97例6-76使用CREATEVIEW命令创建加密视图“软件系学生简表2”。CREATEVIEW软件系学生简表2WITHENCRYPTIONASSELECT学生.姓名,学生.性别,学生.班级,院系.院系名称FROM学生INNERJOIN院系ON学生.所属院系=院系.记录编号WHERE院系.记录编号=2第97页/共106

38、页98修改视图使用企业管理器修改视图使用ALTERVIEW语句修改视图第98页/共106页99使用企业管理器修改视图对于已经存在的视图,可以在“视图设计器”中对其进行修改。在企业管理器中,右击需要修改的视图,选择“设计视图”命令,就可以打开“视图设计器”。第99页/共106页100使用ALTER VIEW语句修改视图ALTERVIEW视图名(列名,.n)WITHENCRYPTIONASSELECT语句第100页/共106页101例6-77使用ALTERVIEW命令修改视图“软件系学生简表”,查询软件系一班所有学生数据。ALTERVIEW软件系学生简表ASSELECT学生.姓名,.学生.性别,学

39、生.班级,院系.院系名称FROM学生INNERJOIN院系ON学生.所属院系=院系.记录编号WHERE院系.记录编号=2AND学生.班级=一班第101页/共106页102删除视图在企业管理器中,右击要删除的视图,并选择“删除”命令,打开“除去对象”对话框,单击“全部除去”按钮,将视图删除。使用DROPVIEW语句删除视图,基本语法如下:DROPVIEW视图名【例6-78】使用DROPVIEW语句删除视图“软件系学生简表”。DROPVIEW软件系学生简表删除视图后,表和视图所基于的数据并不受到影响。第102页/共106页103查看视图右击要查看的视图,在弹出菜单中选择“属性”,打开“查看属性”对话框:第103页/共106页104在企业管理器中查看视图数据右击要查看的视图,在弹出菜单中选择“打开视图”,可以看到查看视图的3种方式,即返回所有行、返回首行和查询。查看视图数据的方法与查看表数据的方法相同。第104页/共106页105使用SELECT语句查询视图中的数据使用SELECT语句查看视图“软件系学生简表”中的数据。SELECT*FROM软件系学生简表第105页/共106页106感谢您的观看。第106页/共106页

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > PPT文档

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁