2022年数据库语言SQL收集 .pdf

上传人:H****o 文档编号:33389817 上传时间:2022-08-10 格式:PDF 页数:14 大小:515.36KB
返回 下载 相关 举报
2022年数据库语言SQL收集 .pdf_第1页
第1页 / 共14页
2022年数据库语言SQL收集 .pdf_第2页
第2页 / 共14页
点击查看更多>>
资源描述

《2022年数据库语言SQL收集 .pdf》由会员分享,可在线阅读,更多相关《2022年数据库语言SQL收集 .pdf(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、1第五讲关系数据库语言 SQLSQL概述SQL,即:结构化查询语言Structured Query Language一、SQL 的发展1974年由 Boyce和Chamberlin 提出SQL 。1975年1979年IBM 在System R上实现了 SQL 语言。第一个 SQL 标准是 1986年10月由美国国家标准局(American National Standard Institute,简称 ANSI )公布,称 SQL-86。1987年国际标准化组织(International Standards Organization ,即 ISO )也通过了这一标准。1989年, ANSI 公

2、布 SQL-89 。1992年, ANSI 公布 SQL-92 。当前最新标准是 SQL99。5. 语言简洁,语法简单,易学易用。二、 SQL特点1综合统一:集DDL 、DML 和DCL 的功能于一体,语言风格统一。2. 高度非过程化。3. 面向集合的操作方法。4. 一种语法结构,两种使用方式:语言既是自含式语言,又是嵌入式语言。存储文件 1?存储文件 k 存储模式基本表 1基本表 2基本表 n?模式视图 1?视图 m外模式SQL三、 SQL语言的基本概念SQL 语言使用三种 “ 表” :基本表、查询表、视图表(1)基本表:实际存在的表。一个基本表可以附带若干个索引表。(2)查询表:用于存放查

3、询结果(包括中间结果)的表。(3)视图表:简称:视图。由基本表或者其它视图表“ 导出” 的表。(临时表,包括结构)(虚表。没有独立存在的数据)(实表。保存数据、元数据)四、 SQL 语句的类型Data DefinitionLanguageStatementsz用于在数据库中生成对象Data ControlLanguageStatementsz用于设置谁能看到和更改数据Data ManipulationLanguageStatementsz用于查询或更改数据DDLzCREATE 创建zALTER 更改zDROP 删除名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - -

4、 - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 14 页 - - - - - - - - - 2DCLzGRANT 允许某用户访问数据后运行语句zDENY禁止某安全帐号访问许可并阻止某用户、用户组或角色继承权限zREVOKE删除一个以前授予或拒绝的许可DMLzSELECT 查询zINSERT 插入zUPDATE 更新zDELETE 删除 数据定义定义定义目的对象创建删除修改表CREATETABLE DROPTABLEALTER TABLE视图 CREATE VIEW DROP VIEW 索引 CREATE INDEX DROP INDEX一、 SQL

5、 Server数据库的数据存储结构Extent (8 contiguous 8-KB pages)Page (8 KB)Tables, IndexesDataDatabaseData (file).mdfor .ndfLog (file).ldfMax row size = 8092 bytesSQL Server的数据库由两种文件组成:z数据文件:用于存放数据库数据z日志文件:用于存放对数据库数据的操作记录。SQL Server的每个数据库都包括一个主数据文件与一个或多个日志文件,此外,还可以包括辅助数据文件。每个文件都有两个名字:操作系统文件名和逻辑文件名(在 SQL Server中使用的

6、、用在 Transact-SQL语句中的名字)。数据文件和日志文件的默认存放位置为: C:Program FilesMicrosoft SQL ServerMSSQLData文件夹。数据文件又包括:主数据文件和辅助数据文件。主数据文件的扩展名是.mdf,每个数据库只能包含一个主数据文件。辅助数据文件的扩展名是 .ndf 。辅助数据文件可以同主数据文件存放在相同的位置,也可以存放在不同的地方。日志文件记录数据存储页的分配和释放以及对数据库数据的修改操作。日志文件的扩展名为.ldf ,它包含用于恢复数据库的日志信息。每个数据库必须至少有一个日志文件。名师资料总结 - - -精品资料欢迎下载 - -

7、 - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 14 页 - - - - - - - - - 3数据库文件的属性在定义数据库的数据文件和日志文件时,可以指定如下属性:?文件名及其位置。每个数据库的数据文件和日志文件都具有一个逻辑名称以及文件的物理存放位置。?文件大小。可以指定每个数据文件和日志文件的大小,以 MB 为单位。?增长方式。如果需要的话,可以指定文件是否自动增长,该选项的默认配置为自动增长?最大大小。指定文件增长的最大大小。默认是大小无限制。二、创建数据库1使用企业管理器创建数据库2使用 Transact-S

8、QL语句创建语句1使用企业管理器创建数据库使用企业管理器创建数据库的步骤如下:(1) 如果SQL Server服务还没有启动,应先启动SQL Server服务,然后启动企业管理器。(2) 在控制台上依次单击“ Microsoft SQL Servers ”和“SQL Server组”左边的加号,然后单击要创建数据库的服务器左边的加号图标,展开树形目录。(3)右击“数据库”,然后单击“新建数据库”命令。在“名称”文本框中输入数据库名。单击“ 数据文件 ” 选项卡 (P126)在“文件名”列表框中输入主数据文件的名称和辅助数据文件的名称。若要更改数据文件的存储位置,单击“位置”列表框上的按钮。在“

9、 初始大小 ” 项上输入希望的大小。如果希望数据库文件的容量能根据实际数据的需要自动增加,可选中“ 文件属性 ” 部分的 “ 文件自动增长 ” 复选框。“ 事务日志 ” 选项卡( P128)对日志文件进行设置。单击 “ 确定” 按钮,关闭数据库属性设置对话框。数据库创建完毕。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 14 页 - - - - - - - - - 42使用 Transact-SQL语句创建语句创建数据库z数据库的名字z数据库驻留在哪个文件中z数据库的大

10、小z数据库的最大大小z增长的方式CREATE DATABASE 语句SQL 语句不区分大小写CREATE DATABASE MyTestONPRIMARY ( NAME = MyTestData,FILENAME = d:Program FilesMicrosoft SQL ServerMssqlDataMyTest.mdf,SIZE = 1MB,MAXSIZE = 3 MB,FILEGROWTH = 20% )LOG ON( NAME = MyTestLog,FILENAME = d:Program FilesMicrosoft SQL ServerMssqlDataMyTest.ldf,S

11、IZE = 1MB,MAXSIZE = 3 MB,FILEGROWTH = 1 )三、删除数据库删除一个数据库,也就删除了该数据库的全部对象,从而将其所占的磁盘空间全部释放掉。1使用企业管理器删除数据库2使用Transact-SQL语句删除数据库1使用企业管理器删除数据库在企业管理器中删除数据库的步骤如下:(1)启动企业管理器,并在“控制台”目录下单击“数据库”节点。(2)选中要删除的数据库,然后选择如下操作之一:从“操作”菜单中选择“删除”命令。在工具栏上单击“删除”按钮。右击待删除的数据库,在弹出式菜单中选择“删除”命令。2使用 Transact-SQL语句删除数据库DROP DATABA

12、SE语句的语法格式为:DROP DATABASE 数据库名 , n 注意被删除的数据库不能是当前正在使用的数据库。被删除的数据库不能再恢复。注意备份使用数据库删除语句可以一次删除多个数据库。例:用DROP DATABASE语句删除 Test1和Test2数据库:DROP DATABASE Test1, Test2四、修改数据库修改数据库的结构。如增加或删除数据库文件等。1. 用“企业管理器”修改2. Transact-SQL语句:ALTER DATABASE名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - -

13、 - - - - 第 4 页,共 14 页 - - - - - - - - - 51.使用企业管理器扩大数据库空间的步骤为:(1)启动企业管理器,在“控制台”目录中展开“数据库”。(2)选中要设置或要修改的数据库,选择下列操作之一:从“操作”菜单上选“属性”命令。在工具栏上单击“属性”按钮。在选中的数据库上单击鼠标右键,选“属性”。(3)在弹出的对话框中选择“数据文件”标签。(4)在对话框中可以实现扩大已有文件和添加新文件的操作。(5)全部完成后,单击“确定”关闭此对话框,保存所做的修改。2. Transact-SQL语句:ALTER DATABASE学习查看帮助!1.创建基本表五、 创建、删

14、除与修改基本表CREATE TABLE表名(列名数据类型 列完整性约束列名数据类型 列完整性约束 ,表完整性约束 , )CREATE TABLEStudentPRIMARY KEY(Sno))Sdept CHAR (15),Sage INT DEFAULT18 ,Sname CHAR (20) NOT NULLUNIQUE ,SsexCHAR (2),( SnoCHAR (5),例 创建一个表名 Student 的基本表。属性包括:Sno(学号;主码 ),Sname,Ssex,Sage,Sdept(学生所在系)。?DATETIME日期时间型,八个字节例 6/15/2002 8:30:50:20

15、02. SQL 数据类型( Ms SQL Server 2000)?INTEGER (或 INT )四个字节整数?DECIMAL(p ,q ) 或NUMERIC(p ,q)十进制数共 P位,小数点后占 q位。 5 17字节。q p, 1 P38。当q =0时, q可省略。? REAL / FLOAT 实数?VARCHAR (n)变长字符串?CHARACTER(n)或 CHAR (n)字符串3. 修改基本表 - 修改表结构(Ms SQL SERVER)例 在表 Student中增加一列 Scome(“ 入学时间 ”)ALTER TABLE表名ALTERTABLEStudent ADD COLUM

16、NScomeDATETIME ALTER COLUMN列名 新数据类型 ? ADD COLUMN新列名数据类型 列完整性约束 , .n? DROP COLUMN列名 , .n 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 14 页 - - - - - - - - - 64. 删除基本表语句格式: DROP TABLE 表名例DROP TABLE Student(2)增加数据更新操作的系统开销。六、创建和删除索引1. 关于数据库索引(1)能够加快给定属性值的查询响应。2.

17、 创建数据库索引CREATE UNIQUE CLUSTER INDEX 索引名 ON 表名( 列名 ASC?DESC ,列名 ASC?DESC .)例1 CREATE CLUSTERINDEX IndSnameON Student (Sname)例2 CREATE UNIQUEINDEX StuSnoSnameON Student (SnameASC,Sno DESC )3. 删除索引DROP INDEX 索引名例 DROP INDEX IndSname 查询FROM 表名或视图名 ,表名或视图名一、查询语句格式SELECT ALL ?DISTINCT 目标列表达式 ,目标列表达式 WHERE

18、 条件表达式 GROUP BY 列名 1 HAVING 条件表达式 ORDER BY 列名 2 ASC ? DESC ,列名 3 ASC ? DESC 下面的例子经常涉及如下三个表:1. Student(Sno,Sname,Ssex,Sage ,Sdept)2. Course(Cno,Cname, Cdate,Cpno,Ccredit )3. SC(Sno,Cno,Grade )其中, Grade 是考试成绩 (INT 类型)。其中, Cdate是开课日期( DATETIME类型) ,Cpno是“ 先修课号 ” ;Ccredit 是“ 学分 ” 。二、单表查询 -查询操作只涉及一个表例 1 查

19、所有学生的所有属性值。SELECT *FROM Student例 2 查找学生姓名,出生年份,所在系。 -使用查询结果表达式!SELECT Sname, Year of Birth, 2007 - Sage, SdeptFrom StudentSname(无列名 ) (无列名 )Sdept张三Year of Birth1976 cs李四Year of Birth1977 ma名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 14 页 - - - - - - - - - 7S

20、no 0001001 0001002 0001003例3 查所有选过课的学生(每个学生只允许出现一次- “自动”消去重复的元组!)。SELECT DISTINCTSnoFROM SC设:原始数据如下:Sno Cno Grade 0001001 1 90 0001001 2 840001002 1 910001003 2 86 例4 查找计算机系、年龄不大于19岁的学生学号 ,姓名,出生年份。SELECT Sno , Sname, 2007 - SageFROM StudentWHERE (Sage 8/31/2001 例6 找出年龄介于 19和22 的学生学号 ,姓名 ,出生年份。SELECT

21、 Sno , Sname, 2007 - SageFROM StudentWHERE Sage BETWEEN19 AND 22SELECT Sno ,SnameFROM Student例8 找出姓名的第二个字是“ 庆” 的学生学号,姓名下划线。每个汉字对应一个“ _” 。例7 (字符串匹配)找 010710班所有同学的学号,姓名。SELECT Sno , SnameFROM StudentWHERE Sno LIKE 010710% WHERE SnameLIKE _庆% 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精

22、心整理 - - - - - - - 第 7 页,共 14 页 - - - - - - - - - 8例9 (“ 空” 值查询)找选了课,但至今没有考试成绩的学生学号,课号。FROM SCSELECT Sno, CnoWHERE Grade IS NULL注:创建 SC表时,Grade定义了属性取值约束 : NULL使用聚集函数计算诸如平均值和总和的函数称为聚集函数执行聚集函数时,将对整个表或表里的某个组中的字段进行汇总、计算,然后为它生成相应字段的单个值。例10(使用聚集函数)查 01071001同学的考试总分FROM SCWHERE Sno = 01071001例11 查询并统计选过课的学生

23、人数FROM SCSELECT DISTINCTSnoCOUNT ()SELECT Sno, SUM(Grade)注意:计算Sno的个数!SELECT Cno , COUNT (Sno)FROM SC例12 查询各门课程号与相应的选课人数。实例Cno Sno Grade1 0001001 1 0001002 2 0001001 2 00010034 0001002 Cno COUNT (Sno)4 1 2 21 2GROUP BY Cno ORDER BY Cno DESC对结果按 Cno排序按Cno值分组,有相同 Cno值的为一个组。每组输出一行。名师资料总结 - - -精品资料欢迎下载 -

24、 - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 14 页 - - - - - - - - - 9SELECT Sno FROM SC GROUP BY Sno例13 查选修了 3门以上课程的学生学号(使用HAVING 子句)。HAVING COUNT( * ) 3注:这里 HAVING作用于由 GROUP 划分了的那些组。SELECT MAX(Grade)FROM SCWHERE (Sno LIKE 01% )AND (Cno = 1)例14 查学生 “01071002”的平均考分。SELECT AVG(Grade

25、)FROM SCWHERE Sno = 01071002例15 查01级、 1号课程的考试最高分。注:聚集函数不能用于WHERE 子句的条件表达式。三、 多表查询与连接查询(以SQL2为背景)1. 多表查询的一般方法Student(SnoSnameSsexSage Sdept)99001 张三男20 CS99002 李四女19IS99003 王五女18 MA99004 赵六男19 IS例1 设: Student 表和 SC表有如下一些元组。找出学生基本情况和考试成绩。SC(SnoCnoGrade)99001 1 9299001 2 8599001 3 8799002 2 9099002 3 8

26、0WHEREStudent .Sno = SC.SnoStudent .Sno SnameSdept Grade 99001 张三CS 92 99001 张三CS 85 99001 张三CS 87 99002 李四IS 90 99002 李四IS 80 思考:语句执行过程?SELECT Student .Sno,Sname,Sdept,GradeFROM Student ,SC例 2 查找张三同学各科考试成绩(要求给出课程名)。FROM Course , SCSELECT Cname, GradeWHERE SC.Cno= Course.CnoAND Student.Sno= SC.Sno,

27、StudentAND Sname = 张三2. 连接表达式及其应用(以SQL2为背景)连接表达式的一般形式:FROM join_table1 join_typejoin_table2 ON连接条件表达式其中, join_type 可以是:(1)自然连接: NATURAL JOIN例3 找出学生基本情况和考试成绩(与例1相同)SELECT Student .Sno,Sname,Sdept,GradeFROM Student NATURAL JOINSC名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - -

28、 - - 第 9 页,共 14 页 - - - - - - - - - 10注:连接表达式经常用于SELECT 语句的 FROM 子句。(3)笛卡尔积: CROSS JOIN (不能加 ON子句)(2)内连接: JOIN (应加上 ON子句)(4)外连接(略):全外连接: NATURAL FULLOUTER JOIN左外连接: NATURAL LEFTOUTER JOIN右外连接: NATURAL RIGHTOUTER JOIN例4 列出单科成绩不少于80分的学生学号、姓名、课程号、考试成绩。SELECT Student .Sno,Sname,Cno,GradeFROM Student NAT

29、URAL JOINSC WHERE NOT ( Grade 80 )例5 (左外连接 )找出学生基本情况和选课情况。如果一个学生没有选课,就只输出学生基本情况SELECT Student .Sno,Sname,Sdept,Cno,GradeFROM Student NATURAL LEFT OUTER JOINSC ON Student.Sno =SC.SnoStudent .Sno SnameSdept Cno Grade 99001 张三CS 1 92 99001 张三CS 2 85 99001 张三CS 3 87 99002 李四IS 2 90 99002 李四IS 3 8099003

30、王五MA NULL NULL99004 赵六ISNULL NULL例 设:Course 表中数据如下:Cno CnameCdateCpnoCcredit1 数学2000/09/01 2 2 数据结构2000/09/01 1 33 数据库2000/09/01 2 33. 自身连接查询要求:找出每一门课的先修课的先修课。FIRST 表( Course)Cno CnameCpno1 数学2 数据结构1 3 数据库2Cno Cpno2 3 1SECOND 表( Course)CnoCnameCpno1 数学2 数据结构1 3 数据库2名师资料总结 - - -精品资料欢迎下载 - - - - - - -

31、 - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 14 页 - - - - - - - - - 11FROM Course ASFIRSTCourse ASSECOND其中: FIRST ,SECOND 称为表 Course 的别名 .SELECT FIRST .Cno , SECOND .CpnoJOINON FIRST .Cpno = SECOND .Cno如果有一个查询语句,它把一个查询块嵌套在另一个查询块的 WHERE 子句, 或嵌套在 GROUP BY子句的 HAVING 短语中,这样的查询语句称为嵌套查询语句。四、嵌套查询在S

32、QL语言中,一个 SELECT-FROM-WHERE 语句称为一个查询块。WHERESdept IN ()SELECT Sdept FROM StudentWHERE Sname= 李四 父查询例1 (带IN 谓词的子查询)查找与“ 李四 ” 在同一个系的学生学号、姓名、系。SELECT Sno ,Sname,Sdept FROM Student子查询特别注意:不能随便用“=”代替“IN”。否则可能会出现运行错误( RUN TIME ERROR)注意:子查询不能使用ORDER BY子句。例2 查询选择了课程号为3的学生学号与姓名。SELECT Sno , SnameFROM StudentSE

33、LECT Sno FROM SC WHERE Cno IN(3)WHERE Sno IN ()注:本例可以用 “=”代替 “IN”WHERE Sage ANY ()AND Sdept ISORDER BYSage DESC例3(带 ANY 或ALL 谓词的子查询)找出比IS系至少一名学生年龄小的其他系学生名单。SELECT Sname ,Sage,SdeptFROM StudentSELECT distinct SageFROM StudentWHERE Sdept=ISWHERE ( Sage ALL ()AND ( SdeptIS)ORDER BY Sage DESC例4 查询比 IS系所

34、有学生年龄都小的其他各系学生姓名, 年龄,系名。SELECT Sage FROM Student WHERE Sdept=ISSELECT Sname ,Sage ,Sdept FROM Student名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 14 页 - - - - - - - - - 12SELECT SnameFROM Student例 5 (带 EXISTS 谓词的子查询 相关查询)找出选修了 1号课程的所有学生姓名。WHERE EXISTS ( SELE

35、CT * FROM SCWHERE Cno =1AND SC.Sno = Student .Sno )注: EXISTS 条件表达式根据子查询的执行结果,返回布尔值true 或false相关!相关!五、集合查询:集合查询就是对几个查询块的结果集进行并、交、差运算。例1 查找选修了课程 1或课程 2的学生学号和姓名。( SELECT SC.Sno, SnameFROM SC, StudentWHERE (Cno= 2) AND (SC.Sno =Student.Sno) )( SELECT SC.Sno, SnameFROM SC, StudentWHERE (Cno= 1) AND (SC.S

36、no =Student.Sno) )UNIONAND Sno IN (SELECT SnoFROM SCWHERE Cno =2)例2 查找既选修课程 1,又选修课程 2的学生集合这实际上是查找选修了课程1学生,与选修了课程 2 的学生的交集。SELECT SnoFROM SCWHERE Cno =1AND Sno NOT IN ()例3 查找选修了课程 1,但不选修课程 2的学生。这实际上是查找选修课程1的学生,与选修课程2的学生的差集:SELECT SnoFROM SC WHERE Cno=1SELECT SnoFROM SC WHERE Cno =2 数据更新表名 (属性列 1 ,属性列

37、 2 ) 一、 插入数据 -在表中增加元组数据INSERT INTOVALUES (常量 1 ,常量 2 )例1 插入一个学生新记录INSERT INTOStudent(Sno,Sname,Ssex,Sage ,Sdept)VALUES (99005, 周全 , 男 ,19,IS) WHERE 条件UPDATE 表名SET列名 =表达式 ,列名 =表达式 二、修改数据 -更改属性取值例1 把学生 99001的年龄改为 21岁UPDATE StudentSET Sage = 21WHERE Sno = 99001名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - -

38、 - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 14 页 - - - - - - - - - 13例2(修改多个元组)把所有学生的年龄增加1岁UPDATE StudentSET Sage = Sage + 1例3 把 IS 系学生原来选修的1课程改为 2UPDATESCSET Cno = 2WHERE Sno IN ( SELECT Sno FROM Student WHERE Sdept = IS)AND Cno = 1例1 删去学号为 99006的学生记录注意:这是 SQL2的DELETE语句格式。三、删除数据 -删去表的元组数据DELETE FR

39、OM表名WHERE 条件DELETE FROM StudentWHERE Sno = 99006例2 删去多个元组DELETE FROM SCWHERE Grade IS NULL2对重构数据库提供了一定程度的逻辑独立性。 视图(重申:视图表是“虚表”)1简化用户的操作,为用户聚焦了数据。一、视图的作用二、创建视图3对机密数据提供安全保护,简化用户权限管理。CREATE VIEW视图名 (列名 ,列名)AS 查询子句4隐蔽数据的复杂性。例1 把计算机系学生数据建成一个视图。CREATE VIEW CS-Student (Sno,Sname,Sage)ASSELECT Sno ,Sname, S

40、age FROM StudentWHERE Sdept=CS 注:本例中,括号和属性名可省略查询子句AS SELECT Student . Sno, Sname,AVG(Grade)FROM Student , SC WHERE Sdept =CS AND Student . Sno = SC. SnoGROUP BY Student .Sno例2 创建计算机系学生选修课平均分的视图。CREATE VIEW CS-C1(Sno,Sname,AVGgrade )不能省略三、删除视图DROP VIEW 视图名例删去视图 CS-C1DROP VIEW CS-C1名师资料总结 - - -精品资料欢迎下

41、载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 14 页 - - - - - - - - - 14转换四、 查询视图例从CS-Student 查年龄不大于 20 的学生SELECT Sno, Sname, SageFROM CS-StudentWHERE Sage = 20AND (Sdept = CS )AS SELECT Sno ,Sname,SageFROM Student WHERE Sdept = CS 创建视图的子查询CREATE VIEW CS-Student(Sno,Sname,Sage)S

42、ELECT Sno ,Sname,SageFROM StudentWHERE (Sage = 20)五、视图的更新视图可以更新,但往往受到一定限制。有些视图是不可以更新或不允许更新的。例如,在子查询中引用库函数的视图就是不可更新的。前面的例子定义的视图CS-C1,就不能使用UPDATE 、INSERT 语句,对它进行更新操作。掌握:视图定义和查询,视图优点。熟练掌握: SQL特点。基本表、查询表和视图表的特点与区别; SQL中的数据类型;表创建、修改和删除;索引的创建和删除;SQL查询语句结构;空值概念;聚集函数(sum, count, avg, max, min );连接查询(外连接略去);嵌套查询;集合查询(并);数据更新(INSERT 、UPDATE 和 DELETE (标准格式);能够用 SQL语句表达基本表的创建、查询、更新,以及视图的创建与查询。了解:建库。企业管理器和查询分析器。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 14 页 - - - - - - - - -

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

当前位置:首页 > 技术资料 > 技术总结

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

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