关系数据库标准语言SQL.ppt

上传人:本田雅阁 文档编号:2440889 上传时间:2019-03-29 格式:PPT 页数:49 大小:795.01KB
返回 下载 相关 举报
关系数据库标准语言SQL.ppt_第1页
第1页 / 共49页
关系数据库标准语言SQL.ppt_第2页
第2页 / 共49页
关系数据库标准语言SQL.ppt_第3页
第3页 / 共49页
亲,该文档总共49页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《关系数据库标准语言SQL.ppt》由会员分享,可在线阅读,更多相关《关系数据库标准语言SQL.ppt(49页珍藏版)》请在三一文库上搜索。

1、全国计算机等级考试,Visual FoxPro 程序设计,数 据 库 应 用,主讲老师:段克奇,第4章 关系数据库标准语言SQL,我们用Visual FoxPro中的命令可以实现对数据库中各种数据对象的操作,但与其相比,使用SQL会更加方便,而且在SQL中可以实现一些Visual FoxPro命令无法实现的功能。,第4章 关系数据库标准语言SQL,本章知识点在笔试考试中的分析明细表,4.1 SQL概述,SQL是结构化查询语言(Structrued Query Language)缩写。查询是SQL语言的重要组成部分,此外,SQL还具有数据定义、数据操纵和数据控制功能。 1. SQL语言的主要特点

2、 SQL是一种一体化的语言,它包括了数据定义、数据查询、数据操纵和数据控制等方面的功能,它可以完成数据库活动中的全部工作; SQL语言是一种高度的非过程化的语言; SQL语言非常简洁,但功能强大; SQL语言可以直接以命令方式交互使用,也可以在程序设计语言中以程序方式使用。使用灵活。,4.1 SQL概述,2. SQL命令动词 SQL可以完成数据库操作要求的所有功能,包括数据查询、 数据操作、数据定义和数据控制,是一种全能的数据库语言。SQL的功能和相对应的命令如下表所示。,4.2 查询功能,SQL的核心是查询。 SQL的查询命令也称作SELECT命令,它的基本形式由SELECT-FROM-WH

3、ERE查询块组成,多个查询块可以嵌套执行。Visual FoxPro的SQL SELECT命令的语法格式如下 : SELECTALLDISTINCTTOP PERCENT .AS ,. AS FROM数据库名! INNERLEFTOUTERRIGHTOUTERFULLOUTERJOIN 数据库名! ON 连接条件 INTO 目标文件 TO FILE文件名ADDITIVETO PRINTERPROMPTTO SCREEN WHERE AND 连接条件ANDOR 筛选条件 GROUP BY ,分组表达式2 HAVING UNIONALL ORDER BY ASCDESC,4.2 查询功能,SELE

4、CT查询命令的使用非常灵活,用它可以构造各种各样的查询。本节将通过大量的实例来介绍SELECT命令的使用。 首先来了解一下常用的特殊运算符,如下表所示。,4.2 查询功能,本节将用到4个表进行查询 ,表结构及模拟数据如下:,4.2 查询功能,1.简单查询 SELECT 职称 FROM 教师 SELECT DISTINCT 职称 FROM 教师 SELECT * FROM 教师 WHERE 职称!=”教授” SELECT * FROM 学生 WHERE year(出生日期)=1991 AND 性别=”男” SELECT * FROM 成绩 WHERE 成绩 IN(92,90,85) SELECT

5、 * FROM 成绩 WHERE 成绩 BETWEEN 75 AND 89 SELECT * FROM 学生 WHERE LEFT(班级,4)=”会电” SELECT * FROM 课程 WHERE 课程名 LIKE “%网络%”,4.2 查询功能,2.简单的连接查询 连接是关系的基本操作之一,连接查询是一种基于多个关系的查询。在连接查询中,当需要对多个表连接时,可以用SELECT 指定查询显示的字段;在WHERE子句中指定连接条件(连接的字段名前要加上表名做为前缀,表名和字段名之间用”.”隔开);在FROM子句中指定要连接的表。 查询出所有学生的学号、姓名、课程号和成绩。 SELECT 学生

6、.学号,姓名,课程号,成绩; FROM 学生,成绩; WHERE 学生.学号=成绩.学号 注意:此例中要查询的“学号”字段存在于“学生”和“成绩”两个表中,这时必须用表名作前缀指明字段是哪个表里的字段,一般情况下我们要选择字段值唯一的那个表里的字段(如:学生.学号)。,4.2 查询功能,3.嵌套查询 嵌套查询是一类基于多个表的查询,查询的结果是出自一个表中的字段,但是查询的条件要涉及到多个表。 嵌套查询一般分为两层,内层和外层,被括号括起来的为内层查询,先进行内层查询,在内层查询的基础上再进行外层查询。 比如: 查询出没有考试成绩的学生的学号和姓名。 SELECT 学生.学号,姓名; FROM

7、 学生; WHERE 学号 NOT IN(SELECT 学号 FROM 成绩),4.2 查询功能,4.排序查询 ORDER BY 字段名1ASC|DESC,字段名2ASC|DESC 其中ASC表示升序,可省略;DESC表示降序。 比如: 查询学生的学号、姓名和成绩字段,并按成绩升序排列,如果成绩相同再按学号降序排列。 SELECT 学生.学号,姓名,成绩;FROM 学生,成绩; WHERE 学生.学号=成绩.学号 ORDER BY 成绩 ASC,学生.学号 DESC 注意:此例中的ORDER BY短语可写成ORDER BY 3 ,1 DESC。ORDER BY 是对最终的查询结果进行排序,不可

8、以在子查询中使用该短语。,4.2 查询功能,5.计算查询 SQL不仅具有一般的查询能力,而且还有计算机方式的查询,例如查询职工的平均工资、最高或最低工资等。用于计算查询的函数如下表所示。,4.2 查询功能,5.计算查询 比如: SELECT COUNT(DISTINCT 班级) FROM 学生 SELECT MIN(成绩) as 最低分; WHERE 课程号=”C4”,4.2 查询功能,6.分组查询 在实际应用中,除了简单的计算查询外,还经常用到GROUP BY 子句进行分组查询。GROUP BY子句一般跟在WHERE子句之后,没有WHERE子句时,跟在FROM子句之后。另外,还可以根据多个属

9、性进行分组(如:先按年分组,再按月分组)。 例如:若要统计一个系中各班的学生人数,就要先以班为单位进行分组,然后再统计每班的人数。 如果想要统计这个系中班级人数在35人以上的班级有哪些,还要用到HAVING子句来限制分组后的条件必须是35人以上的班级。 注意:HAVING子句总是跟在GROUP BY子句之后,而不可以单独使用。HAVING子句和WHERE子句并不矛盾,在查询中是先用WHERE子句限定元组,然后进行分组,最后再用HAVING子句限定分组。 一般情况下,分组与某些具有累计功能的函数联合使用,如AVG( )、SUM( )、COUNT( )。,4.2 查询功能,6.分组查询 查询平均成

10、绩在80以上(含80)的课程名及平均分。 SELECT 课程名,AVG(成绩) AS 平均成绩; FROM 课程,成绩; WHERE 课程.课程号=成绩.课程号; GROUP BY 课程.课程号 HAVING 平均成绩=80,4.2 查询功能,7.利用空值查询 SELECT 课程号,课程名 FROM 课程 WHERE 教师号 IS NULL SELECT 课程号,课程名 FROM 课程 WHERE 教师号 IS NOT NULL,4.2 查询功能,8.别名与自连接查询 1)别名 在连接操作中,经常需要使用表名作前缀,有时这样显得很麻烦,优其表名很长时,就显得更麻烦,因此,SQL允许在FROM短

11、语中为表名定义别名,格式为: 例4.16 利用别名查询学号、姓名、课程号及成绩大于80的学生信息。 SELECT W.学号,W.姓名,P.课程号,P.成绩; FROM 学生 W,成绩 P; & 为学生表定义别名“W”,为成绩表定义别名“P”。 WHERE W.学号=P.学号 AND 成绩80,4.2 查询功能,举例: 根据雇员表列出经理及其所管理的职员清单。 SELECT s.雇员姓名 AS 领导, “管理雇员” AS 管理, e.雇员姓名 AS 雇员; FROM 雇员 s, 雇员 e; WHERE s.雇员号=e.经理,8.别名与自连接查询 2)自连接查询 SQL不仅可以对多个表实行连接操作

12、,也可以将同一表与其自身进行连接,这种连接就称为自连接。例如:有这样一个雇员表,如下图所示。,4.2 查询功能,9.内外层互相关嵌套查询 前面讲过的嵌套查询都是外层查询依赖于内层查询的结果,而内层查询与外层查询无关。事实上,有时也需要内、外层相关的查询,这时内层查询的条件需要外层查询提供值,而外层查询的条件需要内层查询的结果。 在成绩表中每个学生有一门或多门课程的成绩,列出每个同学得分最高的那门课程的成绩,查询字段包括学号、课程号和成绩3个字段。 SELECT a.学号,a.课程号,a.成绩; FROM 成绩 a WHERE 成绩=(SELECT MAX(成绩) FROM 成绩 b ; WHE

13、RE a.学号=b.学号) ; ORDER BY 学号,4.2 查询功能,10.使用量词和谓词的查询 与嵌套查询或子查询有关的运算符,除了IN和NOT IN运算符外,还有两类与子查询有关的运算符,它们有以下两种格式: 格式1:ANY|ALL|SOME(子查询) ANY(任意的)和SOME(一些)表示只要子查询中存在符合条件的行,结果就成立;而ALL(所有的)只有子查询中的所有的行都符合条件,结果才成立。 格式2:NOTEXISTS(子查询) EXISTS是谓词,EXISTS或NOT EXISTS是用来检查在子查询 中是否有结果返回,即存在元组或不存在元组。其本身并没有进行任何运算或比较,只用来

14、返回子查询结果。,4.2 查询功能,10.使用量词和谓词的查询 举例: 查询与课程号为C4的任何一个成绩相等或高于的学生记录 SELECT * FROM 成绩; WHERE 成绩=ANY(SELECT 成绩 FROM 成绩 WHERE 课程号=“C4“) 以上的查询等价于: SELECT * FROM 成绩; WHERE 成绩=(SELECT MIN(成绩) FROM 成绩 WHERE 课程号=“C4“) 查询比课程号为C4的所有成绩都高的学生记录 SELECT * FROM 成绩; WHERE 成绩=ALL(SELECT 成绩 FROM 成绩 WHERE 课程号=“C4“) 以上查询等价于:

15、 SELECT * FROM 成绩; WHERE 成绩=(SELECT MAX(成绩) FROM 成绩 WHERE 课程号=“C4“),4.2 查询功能,10.使用量词和谓词的查询 举例: 查询至少有一门考试成绩的学生信息 SELECT * FROM 学生; WHERE EXISTS(SELECT * FROM 成绩 WHERE 学生.学号=成绩.学号) 以上的查询语名等价于: SELECT * FROM 学生; WHERE 学号 IN(SELECT 学号 FROM 成绩) 查询出没有考试成绩的学生信息 SELECT * FROM 学生; WHERE NOT EXISTS(SELECT * F

16、ROM 成绩 WHERE 学生.学号=成绩.学号) 以上的查询语句等价于: SELECT * FROM 学生 WHERE 学号 NOT IN(SELECT 学号 FROM 成绩),4.2 查询功能,11.超连接查询 前面我们进行的查询是把满足连接条件的记录包含到运算结果中,超连接首先保证一个表中满足条件的元组都在结果表中,然后将满足连接条件的元组与另一个表的元组进行连接,不满足连接条件的则应将来自另一个表的属性值置为空值。 在一般的SQL中,超连接运算符是“*=”(左连接)和“=*”(右连接)。超连接查询有四种连接方式,其基本格式如下: SELECT FROM 左表 INNERLEFTRIGH

17、TFULL JOIN 右表 ON 连接条件 WHERE 其它条件 其中:INNER JOIN等价于 JOIN,为普通连接(也称为内部连接);LEFT JOIN为左连接;RIGHT JOIN为右连接;FULL JOIN称为全连接;,4.2 查询功能,11.超连接查询 1)普通连接(内部连接):普通连接只有满足连接条件的记录才出现在查询结果中 SELECT 教师.*,课程.* FROM 教师 INNER JOIN 课程 ON 教师.教师号=课程.教师号 2)左连接:左连接除满足连接条件的记录出现在查询结果中外,第一个表中不满足连接条件的记录也出现在查询结果中,不满足连接条件的记录的对应部分为.NU

18、LL. SELECT 教师.*,课程.* FROM 教师 LEFT JOIN 课程 ON 教师.教师号=课程.教师号,4.2 查询功能,11.超连接查询 3)右连接:除满足连接条件的记录出现在查询结果中外,第二个表中不满足连接条件的记录也出现在查询结果中,不满足连接条件的记录的对应部分为.NULL. SELECT 教师.*,课程.* FROM 教师 RIGHT JOIN 课程 ON 教师.教师号=课程.教师号 4)全连接 :除满足连接条件的记录出现在查询结果中外,两个表中不满足连接条件的记录也出现在查询结果中,即两个表中的内容都会显示在结果中,不满足连接条件的记录的对应部分为.NULL. SE

19、LECT 教师.*,课程.* FROM 教师 FULL JOIN 课程 ON 教师.教师号=课程.教师号,4.2 查询功能,SELECT * FROM 计算机系教师 WHERE 职称=“教授“ OR 职称=“副教授“; UNION; SELECT * FROM 经管系教师 WHERE 职称=“教授“ OR 职称=“副教授“,12.集合的并运算 SQL支持集合的并(UNION)运算,可以将具有相同查询字段个数且对应字段值域相同的SQL查询语句用UNION短语连接起来,合并成一个查询结果输出。 比如:将计算机系教师表和经管系教师表(如下图所示)中职称为教授和副教授的教师信息合并成一个表。,4.2

20、查询功能,13. Visual FoxPro中SQL SELECT的几个特殊选项 1)只显示前几项记录 SELECT TOP 数字 PERCENT 如:TOP 3 表示前3项记录; TOP 30 PERCENT 表示前30%的记录。 注意:TOP短语必须与ORDER BY短语同时使用才有效 比如 SELECT TOP 2 *; FROM BOOKS; ORDER BY 价格 DESC &查询价格高的前几项的记录要用升序,4.2 查询功能,13. Visual FoxPro中SQL SELECT的几个特殊选项 2)将查询结果存放到数组 在SQL查询语句的尾部添加INTO ARRAY 可以将查询的

21、结果放入指定的数组中。 比如: 将成绩表中课程号为“C2”的信息存储到数组a中。 SELECT * FROM 成绩 WHERE 课程号=“C2“ INTO ARRAY a 3)将查询结果存放到临时表中 在SQL查询语句的尾部添加INTO CURSOR 可以将查询的结果放入指定的临时表中。此操作的通常是将一个复杂的查询分解,临时表通常不是最终结果,可以接下来对临时表操作得到最终结果。生成的临时表是当前被打开的并且是只读的,关闭该文件时将自动删除。 比如: 将教师表的所有记录存储到临时表tmp中。 SELECT * FROM 教师表 INTO CURSOR tmp,4.2 查询功能,13. Vis

22、ual FoxPro中SQL SELECT的几个特殊选项 4)将查询结果存放到永久表中 在SQL查询语句的尾部添加INTO DBF|TABLE 可以将查询的结果放入新生成的指定表中。 比如: 将教师表的所有记录存储到表teacher中。 SELECT * FROM 教师表; INTO TABLE teacher &INTO TABLE 和INTO DBF是等价的,4.2 查询功能,13. Visual FoxPro中SQL SELECT的几个特殊选项 5)将查询结果存放到文本文件中 在SQL查询语句的尾部添加TO FILE ADDITIVE可以将查询的结果放入新生成的指定.TXT文件中。 比如

23、:将教师表的所有记录存储到文本文件tmp中 SELECT * FROM 教师表 TO tmp 如果使用ADDITIVE短语则结果将追加在原文件的尾部,否则将覆盖原有文件。 如:SELECT * FROM 教师表 TO tmp ADDITIVE 6)将查询结果存放到文本文件中 在SQL查询语句的尾部添加TO PRINTER PROMPT可以将查询的结果直接输出到打印机。如果使用了PROMPT选项,在开始打印之前会打开打印机设置对话框。,4.3 操作功能,1. 插入数据 插入数据的操作有两种格式,第一种是标准格式,第二种格式是特殊格式。 第一种格式:INSERT INTO (字段名1,字段名2,)

24、 VALUES(字段值1,字段值2,) 比如: INSERT INTO 成绩(学号,课程号) VALUES(“08“,“C4“) INSERT INTO 成绩 VALUES(“07“,“C4“,87) 第二种格式:INSERT INTO 表名 FROM ARRAY 数组名 | FROM MEMVAR 说明:FROM MEMVAR说明根据同名的内存变量来插入记录值,如果同名的变量不存在,那么相应的字段为默认值或空值,比如: USE 成绩 SELECT * FROM 成绩 INTO ARRAY cj &将成绩表中的记录存储到数组cj中 COPY STRUCTURE TO 成绩2 &拷贝成绩表的结构

25、到成绩2 INSERT INTO 成绩2 FROM ARRAY cj &从数组cj插入记录到成绩2中,4.3 操作功能,. 更新数据 格式:UPDATE 表名 SET 字段名1=表达式1 ,字段名2=表达式2 WHERE 条件 说明:一般使用WHERE子句指定更新的条件,并且一次可以更新多个字段;如果不使用WHERE子句,则更新全部记录。 比如: 将成绩表中成绩字段值为80以下的全部加5。 UPDATE 成绩 SET 成绩=成绩+5 WHERE 成绩80,4.3 操作功能,3.删除数据 删除数据的命令格式为: DELETE FROM 表名 WHERE 条件 说明:改命令是逻辑删除指定表中满足条

26、件的记录,如果要物理删除记录需要继续使用PACK命令。WHERE指定被删除的记录所满足的条件,如果不使用WHERE子句,则删除该表中的全部记录。 比如: 删除成绩表中成绩小于等于75的记录。 DELETE FROM 成绩 WHERE 成绩=75,4.4 定义功能,.表的定义 CREATE TABLE|DBF NAME FREE (,) NULL|NOT NULL CHECK ERROR DEFAULT PRIMARY KEY|UNIQUE REFERENCES TAG NOCPTRANS, ,PRIMARY KEY TAG |,UNIQUE TAG ,FOREIGN KEY TAG NODUP

27、 REFERENCES TAG ,CHECKERROR) |FROM ARRAY ,4.4 定义功能,.表的定义 说明: TABLE和DBF等价,都是建立表文件; NAME指定长表名; FREE建立自由表; NULL或NOT NULL说明字段允许或不允许为空值; CHECK定义域完整性,由逻辑表达式指定表的合法值; ERROR显示由字符型文本信息指定的错误信息; DEFAULT定义默认值; UNIQUE建立候选索引(注意不是惟一索引)。 可以看出,利用SQL命令可完成表设计器所能完成的所有功能。 注意:如果建立自由表(当前没有打开的数据库或使用了FREE),则很多选项在命令中不能使用,如NAM

28、E、CHECK、DEFAULT、FOREIGN KEY、PRIMARY KEY和REFERENCES等。,4.4 定义功能,.表的定义 举例: 用命令建立数据库xsgl。 CREATE DATABASE xsgl 用命令建立“xs”表。 CREATE TABLE xs(学号 C(3) PRIMARY KEY NOT NULL,姓名 C(6),性别 C(2) CHECK 性别$“男女“ ERROR “性别必须是男或女“ DEFAULT “女“) 用命令建立“kc”表。 CREATE TABLE kc(课程号 C(2) PRIMARY KEY,课程名 C(12),教师号 C(3) 用命令建立“cj

29、”表,并建立与“xs”表和“kc”表间的永联系。 CREATE TABLE cj(学号 C(2),课程号 C(2),成绩 N(3) CHECK 成绩100 ERROR “成绩要小于100“ DEFAULT 0,; FOREIGN KEY 学号 TAG 学号 REFERENCE xs,; FOREIGN KEY 课程号 TAG 课程号 REFERENCE kc),4.4 定义功能,2.表的删除 删除表的命令格式为: DROP TABLE 比如: DROP TABLE kcTable 注意:DROP TABLE直接在磁盘上删除表名所对应的.dbf文件,若表是数据库中的表,并且相应的数据库是当前数据

30、库,则从数据库中删除了表;否则,虽然从磁盘上删除了.dbf文件,但是记录在数据库文件中的信息却没有删除,此后会出现错误提示。所以,如果用户相要删除数据库中的表时,最好应使数据库是当前打开的数据库,在数据库中进行操作 。,4.4 定义功能,3.表结构的修改 1)格式1 向表中添加新的字段和新的索引,其命令格式为: ALTER TABLE ADDCOLUMN,)NULL|NOT NULL CHECK ERROR DEFAULT ADD PRIMARY KEY TAG ADD UNIQUE TAG ,4.4 定义功能,3.表结构的修改 1)格式1 说明: ALTER TABLE 修改指定的表; AD

31、D COLUMN向表中添加新的字段; ADD PRIMARY KEY TAG 向表中添加主索引; ADD UNIQUE TAG 向表中添加候选索引; NULL|NOT NULL指定字段可以为空或不能为空。,格式1的应用举例。 为xs表增加一个“身份证”字段。 ALTER TABLE xs ADD 身份证 C(15) 为身份证字段添加候选索引。 ALTER TABLE xs ADD UNIQUE 身份证 TAG sfz,4.4 定义功能,3.表结构的修改 2)格式2 修改表的结构和字段名,其命令格式为: ALTER TABLE ALTER COLUMN NULL|NOT NULL SET DEF

32、AULT SET CHECK ERROR RENAME COLUMN TO ,4.4 定义功能,3.表结构的修改 2)格式2 说明: ALTERCOLUMN指出要修改列的字段名; SET DEFAULT 重新设置默认值; SET CHECK ERROR 重新设置字段的合法值及错误信息; RENAME COLUMN TO 修改字段名,指定要修改的字段名,指定修改后的字段名。,格式2应用举例。 修改身份证的宽度为18。 ALTER TABLE xs ALTER 身份证 C(18) 将xs表中的“姓名”字段改为“学生姓名” ALTER TABLE xs RENAME COLUMN 姓名 TO 学生姓

33、名 重新定义cj表中成绩字段的有效性规则为“成绩=100”,错误提示信息修改为“成绩要小于等于100” ALTER TABLE cj ALTER 成绩 SET CHECK 成绩=100 ERROR “成绩要小于等于100“,4.4 定义功能,3.表结构的修改 3)格式3 删除表中的字段、索引及有效性规则、错误提示信息及默认值,其命令格式: ALTER TABLE DROP COLUMN DROP PRIMARY KEY TAG DROP UNIQUE TAG DROP CHECK 说明:DROP COLUMN 删除指定的字段; DROP PRIMARY KEY 删除主索引; DROP UNIQ

34、UE TAG 删除候选索引; DROP CHECK 删除有效性规则。,4.4 定义功能,格式3应用举例。 删除xs表中为身份证字段建立的候选索引 ALTER TABLE xs DROP UNIQUE TAG sfz 删除xs表中的身份证号字段。 ALTER TABLE xs DROP 身份证 删除cj表中成绩字段的有效性规则。 ALTER TABLE cj ALTER 成绩 DROP CHECK 上述3种对表进行修改的命令,其核心短语分别为:ADD、ALTER、DROP 0,4.4 定义功能,4.视图的定义 在Visual FoxPro中视图是一个定制的虚拟表,可以是本地的、远程的或带参数的。

35、视图可以引用一个或多个表,或者引用其他视图。视图是可更新的,它可引用远程表。 在关系数据库中,视图也称作窗口,是操作表的窗口,可以把它看作是从表中派生出来的虚表。它依赖于表,不能独立存在。 数据库表或自由表都可以建立视图,在建立视图时必须先打开一个数据库,因为视图不是以独立文件形式保存的,而是在数据库设计器中存放的。 视图是根据表定义派生出来的,所以在涉及视图的时候,常把表称作基本表。视图是根据对表的查询定义的,命令格式是:CREATE VIEW 视图名 AS SELECT查询语句,4.4 定义功能,4.视图的定义 1) 视图的导出 从单个表导出视图 比如 从学生表导出视图。 CREATE V

36、IEW xs_v AS SELECT * FROM 学生 从多个表导出视图。 比如 从学生表和成绩表中导出视图。 CREATE VIEW xscj_v AS; SELECT 学生.学号,姓名,成绩 FROM 学生,成绩; WHERE 学生.学号=成绩.学号,4.4 定义功能,4.视图的定义 2) 视图的删除 视图由于是从表派生而来的,所以不存在修改结构的问题,但是视图可以删除,其命令格式为: DROP VIEW 比如: 删除视图xscj_v。 DROP VIEW xscj_v 3)关于视图的说明 在关系数据库中,视图始终不曾真正含有数据,它总是原来表的一个窗口。所以,虽然视图可以像表一样进行各种查询,但是插入、更新和删除操作在视图上却有一定限制。在一般情况下,当一个视图是由单个表导出时可以进行插入和更新操作,但不能进行删除操作;当视图是从多个表导出时,插入、更新手和删除操作都不允许进行。这种限制是很有必要的,它可以避免一些潜在问题的发生。,本章小结,本章比较全面地介绍了关系数据库标准语言SQL,包括数据的查询、定义、操纵等功能,重要的知识点主要集中在简单计算查询、几个特殊运算符、分组与计算查询、插入和更新等。大家应对此部分内容重点学习,并多加练习。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1