wxh第七章-关系数据库标准语言SQL.ppt_第1页
wxh第七章-关系数据库标准语言SQL.ppt_第2页
wxh第七章-关系数据库标准语言SQL.ppt_第3页
wxh第七章-关系数据库标准语言SQL.ppt_第4页
wxh第七章-关系数据库标准语言SQL.ppt_第5页
已阅读5页,还剩77页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、例题,1.SQL语言是( )的语言,容易学习 。 A. 过程化 B.非过程化 C.格式化 D.导航式,B,3.SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,其中,CREATE、DROP、ALTER语句是实现哪种功能( )。 A.数据查询 B.数据操纵 C.数据定义 D.数据控制,C,4. SQL语言中,删除一个视图的命令是( )。 A.DELETE B.DROP C.CLEAR D.REMOVE,B,5.在SQL语言中的视图VIEW是数据库的( ) 。 A.外模式 B.模式 C.内模式 D.存储模式,A,6.下列的SQL语句中,( )不是数据定义语句。 A.CREATE TAB

2、LE B.DROP VIEW C.CREATE VIEW D.GRANT GRANT 语句:为现有用户或组授予指定的特权。,D,7.若要撤销数据库中已经存在的表S,可用( )。 A.DELETE TABLE S B.DELETE S C.DROP TABLE S D.DROP S,C,NCRE模拟题,SQL的基本命令中,插入数据命令所用到的语句是( )。 A.SELECT B.INSERT C.UPDATE D.DELECT,B,NCRE模拟题,SQL语言中提供了SELECT语句,用来进行数据库的 。,查询,第七章 关系数据库标准语言SQL,SQL语言,即结构化查询语言(Structured

3、Query Language)。该语言的功能十分强大,所有表的建立、查询、索引等功能都可以用几条SQL语句完成。 本章简要介绍SQL语言的常用语句。只要求掌握这些语句的基本语法及使用,重点掌握SELECT查询语句的一般使用。,第七章 关系数据库标准语言SQL,什么是SQL语言:即结构化查询语言(Structured Query Language),被认为是关系数据库语言的工业标准,也就是说几乎所有关系数据库管理系统都支持 SQL 。 本章主要内容: SQL是一个功能强大且十分庞大的语言,本章只介绍SQL语言的常用语句的基本语法,主要包括数据定义(create/alter/drop),数据查询(

4、select),数据更新(insert/update/delete)。 学习目的:我们只需要掌握能够在Access环境中使用简单的SQL语句。重点是查询(SELECT)语句。,内容提纲:,7.1 SQL概述 7.2 SQL 语言的数据定义 7.3 SQL 的数据查询 7.4 SQL的数据更新 重点与难点在7.3部分的select的使用,7.1 SQL概述,SQL是一个功能强大且十分庞大的语言。其标准文档就有600多页。我们只需要掌握能够在Access环境中使用简单的SQL语句完成想要执行的操作。,SQL语言是一个非过程化语言,其大多数语句都可独立执行并完成一个特定操作、与上下文无关。在Acce

5、ss中使用SQL查询,由用户输入SQL语句,能够实现各种的查询的功能,甚至有些功能只能通过SQL查询完成。,SQL语言的特点: 1. 高度综合 SQL语言可用于表示用户对数据库的所有操作,而所有对数据库的操作是由几个命令来完成的。,2. 非过程化 用户只需要描述要做什么,而不必告诉系统如何去做。,3. 采用面向集合的操作方式 该语言的操作对象和操作结果都是元组的集合,即表。,现在很多数据库应用开发工具都将SQL直接融入自身中,Access也不例外。,SQL语言的功能: SQL语言提供数据定义、数据查询与数据控制三大类功能。下表为Access所支持的功能。,7.2 SQL语言的数据定义,SQL语

6、言的数据类型:P122 注意:不同数据库管理系统所提供的SQL数据类型不完全相同。(教材表7.2中TINYINT、DECIMAL、UNIQUEIDENTIFIER、CHARACTER在Access中不能使用。另外,表中TEXT与CHAR等同),掌握以下数据类型:,7.2 SQL语言的数据定义,SQL语言的数据类型: 注意:不同数据库管理系统所提供的SQL数据类型不完全相同。(教材表7.2中TINYINT、DECIMAL、UNIQUEIDENTIFIER、CHARACTER在Access中不能使用。另外,表中TEXT与CHAR等同),掌握以下数据类型:,SQL语言基本数据类型 常用的基本数据类型

7、。 1.数值型 Integer,Smallint,Float(n),Real, Double,Numberic(p,q) 2.字符型 Char(n),Varchar(n),Text/Memo, Binary(n),VarBinary (n) 3.日期、时间型 Date,Time,DateTime 4.逻辑型 Boolean 5.货币型 SmallMoney,Money 6.OLE型 General,1.TEXT:文本型(指定长度时),备注型(不指定长度时); 2.CHAR,NCHAR,VARCHAR,NVARCHAR:文本型,可以指定长度,否则默认值为255! 3.BYTE,TINYINT:数

8、字-字节,不要指定长度和精度,否则会报错! 4.SMALLINT,SHORT:数字-整型,不要指定长度和精度,否则会报错! 5.INT,INTEGER,LONG:数字-长整型,不要指定长度和精度,否则会报错! 6.NUMERIC,DECIMAL:数字-小数,可以指定长度和精度,如只指定长度,那精度默认为0,如都不指定,那么默认长度18,默认精度0; 7.SINGLE,REAL:数字-单精度型,不要指定长度和精度,否则会报错!,Access中可使用的数据类型:,Access中可使用的数据类型,8. DOUBLE,FLOAT,NUMBER:数字-双精度型9. MEMO:备注型10. BINARY:

9、二进制型,可以指定长度,否则默认长度为510!11. BIT:位型,可用格式(yes/no, true/false, on/off)12. MONEY,CURRENCY:货币型,13. DATETIME:日期时间型,14. IMAGE,OLEOBJECT: OLE OBJECT型,参考如下MICROSOFT官方资料:,数据类型 存储大小 说明BINARY 每字符一个字节 任何类型的数据都可存储在这种类型字段中。BIT 1 个字节 Yes/No(TURE/FALSE, ON/OFF,-1/0)只包含两值之一的字段。TINYINT 1 个字节 介于 0 到 255 之间的整型数。MONEY 8 个

10、字节 介于 922,337,203,685,477.5808 到922,337,203,685,477.5807 之间。DATETIME 8 个字节 介于 100 到 9999 年的日期或时间数值。REAL 4 个字节 单精度浮点数FLOAT 8 个字节 双精度浮点数SMALLINT 2 个字节 介于32,768 到 32,767 的短整型数。INTEGER 4 个字节 介于2,147,483,648 到 2,147,483,647 的长整型数。DECIMAL 17 个字节 你可以定义精度 (1 - 28) 和符号 (0 - 定义精度)。缺省精度和符号分别是18和0。TEXT 每字符2字节 从

11、0到最大2,14GB字节。IMAGE 视实际需要而定 从0到最大2,14GB字节。用于 OLE 对象。CHARACTER 长度从 0 到 255个字符。,数据定义: SQL语言的数据定义主要包括表和索引的创建、修改和删除操作。,1. 建立数据表 CREATE TABLE ( , (长度) , , ,); 功能:创建一个表,指定列属性定义的表结构。,说明: (1) 可选项; 名词不可拆分项; , 前面的项可重复多次。,关系数据库标准语言SQL,示例: Create Table 学院 (学院编号 CHAR(5), 学院名称 CHAR(20), 院长姓名 CHAR(20), 电话 CHAR(13),

12、 地址 CHAR(50), PRIMARY KEY(学院编号) );,第7章关系数据库标准语言SQL,7.2 数据定义,完整性约束: Primary Key:定义主键约束 Foreign key:定义外键约束 Unique:定义唯一性约束 Check:定义域完整性约束 Not Null:定义空约束,不允许列值为空;Null允许列值为空(默认),关系数据库标准语言SQL,示例: Create Table 系 (系编号 CHAR(5) Not Null, 系名称 CHAR(20) Not Null Unique, 系主任 CHAR(20), 教研室个数 Smallint, 班级个数 Smallin

13、t, 学院编号 CHAR(5), PRIMARY KEY(系编号), Foreign Key(学院编号) References 学院(学院编号) );,练习,使用sql建立以下三个表: 订单(订单号,客户编号,下单日期,有无发票) 订单明细(订单号,图书编号 ,数量) 图书(图书编号,图书名,出版社,单价),答案,create table 图书 (图书编号 char(5) primary key, 图书名 char(40) not null, 出版社 char(50), 单价 money ),答案,create table 订单 (订单号 char(8) primary key, 客户编号 c

14、har(8), 下单日期 datetime, 有无发票 logical ),答案,create table 订单明细 (订单号 char(8), 图书编号 char(5), 数量 smallint , primary key(订单号,图书编号), foreign key(订单号) references 订单(订单号), foreign key(图书编号) references 图书(图书编号) ),(2) 表的完整性约束一般分列级和表级两种,定义格式如下: NOT NULL 列级约束。输入数据时不允许字段值为空。系统默认值为NULL。其作用与Access表的设计视图中“必填字段”相同。 例如,

15、CREATE TABLE 系(系编号 CHAR(5) NOT NULL);, PRIMARY KEY 表或列级约束。该约束可在列级或表级定义。如果单个字段做主健,可在“ ”的后面写“PRIMARY KEY。如果多个字段做主键,则需在所有字段定义完成后写 “PRIMARY KEY (,)”。其作用与Access表的设计视图中“主键”相同。 例如,CREATE TABLE 系 (系编号 CHAR(5) NOT NULL PRIMARY KEY, 系名称 CHAR(20),系主任 CHAR(20),学院编号 CHAR(5); 或 CREATE TABLE 系 (系编号 CHAR(5) NOT NUL

16、L,系名称 CHAR(20), 系主任 CHAR(20),学院编号 CHAR(5), PRIMARY KEY(系编号);, FOREIGN KEY 外键约束。该约束可在列级或表级定义。 如果外键只有一列,可定义为列级约束。如果外键包含一到多个列,可定义为表级约束。 例如,CREATE TABLE 系 (系编号 CHAR(5) NOT NULL PRIMARY KEY, 系名称 CHAR(20),系主任 CHAR(20), 学院编号 CHAR(5) REFERENCES 学院(学院编号); 或 CREATE TABLE 系 (系编号 CHAR(5) NOT NULL,系名称 CHAR(20),

17、系主任 CHAR(20),学院编号 CHAR(5), PRIMARY KEY(系编号), FOREIGN KEY(学院编号) REFERENCES 学院(学院编号); 说明:系编号是主键, NOT NULL可省略。 注意在参照表(表名由REFERENCES后面的 定义)中,这些对应字段必须是已建立了唯一性索引的,否则该建表语句无法执行。, CHECK是域完整性约束,用于输入列值时对输入数据进行有效性检查。其作用与Access表的设计视图中“有效性规则”相同。 UNIQUE唯一性约束,要求不同记录在此字段上取值不能相等。 例如,CREATE TABLE 系 (系编号 CHAR(5) NOT NU

18、LL, 系名称 CHAR(20) NOT NULL UNIQUE, 系主任 CHAR(20), 学院编号 CHAR(5), PRIMARY KEY(系编号), FOREIGN KEY(学院编号) REFERENCES 学院(学院编号); 说明:UNIQUE 唯一性约束则要求系名称不能有重名。 另外,完整性约束主要掌握前2种。,例7.1建立如表7.3所示的职员数据表: 表7.3 职员表的结构信息,CREATE TABLE staff (staffID TEXT(12) PRIMARY KEY, name TEXT(8) UNIQUE, birthdate DATE, married LOGICA

19、L NOT NULL, salaryMONEY, resumeMEMO);,2. 修改数据表p122 ALTER TABLE ADD , DROP CONSTRAINT |COLUMN , ALTER , ; 功能:修改表的结构。,说明: (1) 是要修改结构的表的名字 (2) ADD用于增加新列和新的完整性约束条件 (3) DROP用于删除指定列或完整性约束条件 (4) ALTER用于修改表的列宽度、数据类型等。 注: 参数CONSTRAINT无效,参数COLUMN可省略。,p122 例7.2 在学生表上,给出完成下列操作的SQL语句。 (1) 增加“入学时间”列,其数据类型为日期类型 (2

20、) 将学号字段由字符类型改为整数类型, (3) 增加学号字段不能为空的完整性约束条件 (4) 删除“入学时间”字段。 完成上述操作的SQL语句依次为: ALTER TABLE 学生 ADD 入学时间 DATE; ALTER TABLE 学生 ALTER COLUMN 学号 INT; ALTER TABLE 学生 ADD CONSTRAINT NOT NULL (学号); ALTER TABLE 学生 DROP 入学时间 ; 说明,该语句主要掌握增加一个字段、删除一个字段的简单命令。,3. 删除数据表 格式:DROP TABLE 功能:删除表。 说明:表一旦被删除,表中的数据、此表上建立的索引和

21、查询等结构都将自动被删除,并且无法恢复,因此一定要格外小心。,例7.3 删除学生和班级两张表。 DROP TABLE 学生; DROP TABLE 班级;,4. 索引操作语句 p126 (1) 建立索引 CREATE UNIQUE CLUSTERED INDEX ON ( ASCDESC , ASCDESC ,) 功能:为表创建索引。,例7.4 (1) 为系表建立系编号字段上的唯一索引 (2) 为系表建立学院编号字段上的普通索引 SQL语句如下: CREATE UNIQUE INDEX 系表的系编号 ON 系(系编号); CREATE INDEX 系表的学院编号 ON 系(学院编号);,(2)

22、 删除索引 p123 格式:DROP INDEX 索引名 on 功能:删除索引。,例7.5 给出删除例7.4建立的两个索引的SQL语句。 DROP INDEX 系表的系编号 ON 系; DROP INDEX 系表的学院编号 ON 系;,7.3 SQL的数据查询,SELECT语句:(该命令掌握程度以教材例题为准) SELECT ALL|DISTINCT | , FROM , WHERE GROUP BY HAVING ORDER BY ASC DESC 功能:创建一个由指定范围内、满足条件、按某字段分组、按某字段排序的指定字段组成的新记录集。 (1) WHERE :符合条件的记录集。 (2) :

23、查询计算函数。 (3) GROUP BY :查询结果按指定字段分组。 (4) HAVING :只对满足条件的查询结果分组。 (5) ORDER BY ASCDESC:按指定字段排序 (6) ALL|DISTINCT的含义:ALL是指显示所有满足条件的记录,DISTINCT则指只显示不完全相同结果的记录,将数据库中相同的记录过滤掉不显示。 。,简单查询语句: 是指数据来源是一个表或一个视图的查询操作,它是最简单的查询操作。,1. 检索表中所有的行和列 例7.6 假设学院表包含的数据如表所示,编写查询语句查询所有学院的各项信息。,SELECT 学院编号, 学院名称, 院长姓名, 电话, 地址 FR

24、OM 学院; SELECT * FROM 学院; 注:如果查询包括所有列,可用*号代替。,2. 检索表中指定的列 例7.7 查询所有学院的名称和联系方式。 SELECT 学院名称,电话, 地址 FROM 学院;,3. 检索表中指定的列和产生新列 p126 例7.8 查询员工工资表,输出员工编号、姓名、时间、扣款、税款和实发工资。假设员工工资表结构为:工资(员工编号CHAR(10), 姓名 CHAR(10), 时间 DATE, 应发工资 REAL, 扣款 REAL, 税款 REAL)。,SELECT 员工编号, 姓名, 时间, 扣款, 税款, 应发工资-扣款-税款 AS 实发工资 FROM 工资

25、;,例7.9 在学生表中,显示学号、姓名和年龄三个字段,且将学号字段的标题显示为“学生号码”。 SELECT 学号 AS 学生号码, 姓名, year(now()-year(出生年月) AS 年龄 FROM 学生;,查询操作,创建动作查询,创建新字段查询(补充) 查询的SQL视图,第8章查询操作,创建动作查询,创建新字段查询() 保存查询,结束“新字段”查询的创建。 打开数据源表。,4. 检索表中指定的列和指定的行 查询满足条件的记录可以通过WHERE子句来实现。,例7.10 查询信息学院的名称和联系方式。 SELECT 学院名称, 院长姓名, 电话, 地址 FROM 学院 WHERE 学院名

26、称 = 信息学院;,例7.11 查询有不及格成绩的学生的学号、课程编号和成绩。 SELECT 学号, 课程编号, 成绩 FROM 选课 WHERE 成绩60;,例7.12 查询年龄在20-23岁的学生的学号、姓名和出生年月。 SELECT 学号, 姓名, 出生年月 FROM 学生 WHERE year(now()-year(出生年月) BETWEEN 20 AND 23; 或 SELECT 学号, 姓名, 出生年月 FROM 学生 WHERE (year(now()-year(出生年月) = 20) AND (year(now()-year(出生年月) = 23);,5. 字符串匹配 关键词“

27、LIKE” 用以进行字符串的匹配,其格式如下: NOTLIKE ESCAPE 表示查找指定属性列的值与相匹配的元组。通常是含有通配符的字符串。Access中通配符目前只支持“*”和“?” 。,例7.13 查询叫张玲玲的学生的详细信息。 SELECT * FROM 学生 WHERE 姓名=张玲玲;,例7.14 查询姓张且姓名只有两个字的同学的姓名、学号、出生年月、籍贯信息。 SELECT 姓名, 学号, 出生年月, 籍贯 FROM 学生 WHERE 姓名 LIKE 张?;,例7.16 统计每门课程的平均分。 SELECT 课程编号, AVG(成绩) AS 平均分 FROM 选课 GROUP BY

28、 课程编号;,例7.15 查询姓名中包含“丽”字的学生的姓名、学号、出生年月、籍贯信息。 SELECT 姓名, 学号, 出生年月, 籍贯 FROM 学生 WHERE 姓名 LIKE *丽*;,6. 检索表中分组统计结果 SQL中常用的合计函数与Access中使用的函数相同,利用这些函数可完成简单的数据汇总工作。,p128例7.16 统计每门课程的平均分保留1位小数 SELECT 课程编号, round(AVG(成绩),1) AS 平均分 FROM 选课 GROUP BY 课程编号; 例7.17 按性别统计学生人数。 SELECT 性别, COUNT(学号) AS 人数 FROM 学生 GROU

29、P BY 性别;,例7.19 计算课程编号为03001的课程的平均成绩。 SELECT AVG(成绩) FROM 选课 WHERE 课程编号=03001;,例7.18 统计选课表中各门课程的最高分。 SELECT 课程编号, MAX(成绩) FROM 选课 GROUP BY 课程编号;,例7.20 将学生按出生年月由小到大进行排序。 SELECT * FROM 学生 ORDER BY 出生年月;,7. 检索表中排序结果 利用ORDER BY子句可以对查询的结果进行排序。,如果按由大到小进行排序,则: SELECT * FROM 学生 ORDER BY 出生年月 DESC;,对例7.16中的查询

30、结果,按平均分由大到小进行排序。p129 SELECT 课程编号, AVG(成绩) AS 平均分 FROM 选课 GROUP BY 课程编号 ORDER BY AVG(成绩) DESC;,8. 空值问题 例7.21 查询课程中还没有给出所有学生成绩的课程编号。 SELECT 课程编号,成绩 FROM 选课 WHERE 成绩 IS NULL;,课前小结:,小结: 7.3 SQL的数据查询,SELECT语句:(该命令掌握程度以教材例题为准) SELECT ALL|DISTINCT | , FROM , WHERE GROUP BY HAVING ORDER BY ASC DESC 功能:创建一个由

31、指定范围内、满足条件、按某字段分组、按某字段排序的指定字段组成的新记录集。 (1) WHERE :符合条件的记录集。 (2) :查询计算函数。 (3) GROUP BY :查询结果按指定字段分组。 (4) HAVING :只对满足条件的查询结果分组。 (5) ORDER BY ASCDESC:按指定字段排序 (6) ALL|DISTINCT的含义:ALL是指显示所有满足条件的记录,DISTINCT则指只显示不完全相同结果的记录。,1.简单查询 是指数据来源是一个表或一个视图的查询操作,它是最简单的查询操作。,2. 多表连接 连接操作可以是两个以上表之间进行的,此时连接条件要求必须是两两之间给出

32、。,连接查询: 把多个表的信息集中在一起输出,就要用到“连接”操作,可通过在FROM子句中使用多个表名来实现。多个表名在FROM子句中通过逗号隔开。另外还可以用WHERE子句给定表的连接条件。,1. 两表连接 例7.22 查询每个学生的姓名、所在班级名称和专业。本例中,连接条件为“学生.班级编号=班级.班级编号”。 SELECT 学号, 姓名, 班级名称, 专业 FROM 学生, 班级 WHERE 学生.班级编号=班级.班级编号;,2. 多表连接 连接操作可以是两个以上表之间进行的,此时连接条件要求必须是两两之间给出。 例7.24 查询学生的学号和姓名,及所在学院、系和班级的名称。 SELEC

33、T 学院.学院名称, 系.系名称, 班级.班级名称, 学生.学号, 学生.姓名 FROM 学院, 系, 班级, 学生 WHERE (学院.学院编号=系.学院编号) AND (系.系编号=班级.系编号) AND (班级.班级编号=学生.班级编号); 注:学院.学院名称可直接写成学院名称,因为只有一个表有此字段,其它项也如此。,其它查询: 1. 嵌套查询 在SQL语言中,一个SELECT FROM WHERE 语句产生一个新的数据集,一个查询语句完全嵌套到另一个查询语句中的WHERE或HAVING的“条件”短语中,这种查询称为嵌套查询。 例如: SELECT * FROM 学生 WHERE 学号

34、IN (SELECT 学号 FROM 选课 WHERE 课程编号= 03001) 该例中内层查询的含义是查找所有选修了“03001”号课程的学生的学号,这些学号形成一个集合,在此称该集合为S。外层循环的含义是查找学号在S中的学生的详细信息。因此,此嵌套查询的含义是查询选修了“03001”号课程的学生的详细信息。,例7.25 查询计算机系、地理系和外语系的所有学生的姓名和专业。 SELECT 姓名, 专业 FROM 学生,班级 WHERE 学生.班级编号=班级.班级编号 AND 班级.系编号 IN (SELECT 系编号 FROM 系 WHERE 系名称 IN (计算机系,地理系,外语系);,2

35、. 集合查询 可以把多个SELECT产生的数据集进行合并。SQL提供的集合操作主要包括并、交和差三类,分别用UNION,INTERSECT和EXCEPT表示,其含义与集合操作相同。 注:Access目前不支持INTERSECT和EXCEPT操作。,例7.26 输出所有教师和学生的姓名和性别字段。 SELECT 姓名,性别 FROM 教师 UNION SELECT 姓名,性别 FROM 学生;,7.4 SQL的数据更新,SQL数据更新操作有三类,向表中插入、修改或删除表中若干行数据,其对应的SQL命令分别是INSERT、UPDATE和DELETE命令。这三种数据更新操作分别对应Access中的追

36、加查询、更新查询和删除查询,利用SQL语句与使用相应的查询效果相同。,INSERT命令: INSERT INTO (,) VALUES (,) 功能:将一个新记录(一行数据)插入指定的表中。,例7.28 在学院表中插入一个新的记录,其中:学院编号、学院名、院长姓名、电话和地址分别是C0012, 建筑学院, 刘宏, 83383291, 30号楼。 INSERT INTO 学院 ( 学院编号, 学院名称, 院长姓名, 电话, 地址 ) VALUES (C0012, 建筑学院, 刘宏, 83383291, 30号楼); 如果新插入记录的每个列上都有值,则可省略掉字段列表,上例可写为: INSERT

37、INTO 学院 VALUES (C0012, 建筑学院, 刘宏, 83383291, 30号楼);,UPDATE命令: UPDATE SET = ,= , WHERE 功能:更新表中数据。,例7.29 修改C0001学院的电话为85288888。 UPDATE 学院 SET 电话= 85288888 WHERE 学院编号= a; 这一语句可批量修改数据表中的数据。,例7.30 修改系表,将属于a学院的系都改为属于b学院。 UPDATE 系 SET 学院编号= b WHERE 学院编号= a;,查询操作,8.4 创建动作查询,创建更新查询(补充) 在“更新查询”窗口中,在字段列表框的“更新到”行

38、中输入更新数据,在条件行中输入更新的限定条件。,查询操作,创建动作查询,创建更新查询 保存查询。并打开查询。,查询操作,创建动作查询,创建更新查询 查询的SQL视图。,UPDATE 教师表 SET 教师表.工资 = 1800 WHERE (教师表.职称)=教授);,DELETE命令: DELETE FROM WHERE 功能:删除表中满足的数据。,例7.31 删除a学院的所有系。 DELETE FROM 系 WHERE 学院编号=a;,上机 实验册五 课本第7章所有例子都可以先做了 增加实验:查询操作.pdf,7.若要在基本表S中增加一列CN(课程名),可用( )。 A. ADD TABLE

39、S(CN CHAR() B. ADD TABLE S ALTER(CN CHAR() C. ALTER TABLE S ADD(CN CHAR() D. ALTER TABLE S (ADD CN CHAR(),C,8.若要在基本表S中增加一列CN(课程名),可用( )。 A. ADD TABLE S(CN CHAR() B. ADD TABLE S ALTER(CN CHAR() C. ALTER TABLE S ADD(CN CHAR() D. ALTER TABLE S (ADD CN CHAR(),C,9.学生关系模式 S( S,Sname,Sex,Age),S的属性分别表示学生的学号

40、、姓名、性别、年龄。要在表S中删除一个属性“年龄”,可选用的SQL语句是( )。 A.DELETE Age from S B.ALTER TABLE S DROP Age C.UPDATE S Age D.ALTER TABLE S Age,B,10.有关系S(S,SNAME,SAGE),C(C,CNAME),SC(S,C,GRADE)。其中S是学生号,SNAME是学生姓名,SAGE是学生年龄, C是课程号,CNAME是课程名称。要查询选修“ACCESS”课的年龄不小于20的全体学生姓名的SQL语句是 SELECT SNAME FROM S,C,SC WHERE子句。这里的WHERE子句的内容

41、是( )。 A.S.S# = SC.S# and C.C# = SC.C# and SAGE=20 and CNAME=ACCESS B.S.S# = SC.S# and C.C# = SC.C# and SAGE in=20 and CNAME in ACCESS C.SAGE in=20 and CNAME in ACCESS D.SAGE=20 and CNAME= ACCESS,A,11.设关系数据库中一个表S的结构为S(SN,CN,grade),其中SN为学生名,CN为课程名,二者均为字符型;grade为成绩,数值型,取值范围0100。若要把“张二的化学成绩80分”插入S中,则可用(

42、 )。 A. ADD INTO S VALUES(张二,化学,80) B. INSERT INTO S VALUES(张二, 80 ,化学 ) C. ADD INTO S VALUES(张二,化学,80) D. INSERT INTO S VALUES(张二,化学,80),D,12.设关系数据库中一个表S的结构为:S(SN,CN,grade),其中SN为学生名,CN为课程名,二者均为字符型;grade为成绩,数值型,取值范围0100。若要更正王二的化学成绩为85分,则可用( ) 。 A. UPDATE S SET grade85 WHERE SN王二 AND CN化学 B. UPDATE S SET grade85 WHERE SN王二 AND CN化学 C.UPDATE grade85 WHERE SN王二 AND CN化学 D.UPDATE grade85 WHERE SN王二 AND CN化学,A,13.在SQL语言中,子查询是( ) 。 A.返回

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论