《网络数据库与应用》模拟C
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
华东师范大学成人高等教育(网络教育)
电子商务(专科)
《网络数据库与应用》模拟试卷(C卷)
考试形式:开卷考试时间:90分钟
学习中心:_________ 姓名:_________ 学号:_________ 成绩:_________
注:答案统一做在答题纸上。
一.是非题(每题1分共30分,在括号中使用×√答题))
1.在应用程序中使用了数据库管理系统,可以提高编程效率和应用程序的运行
()效率。
2.MySQL对数据文件大小的限制主要取决于操作系统控制下的磁盘文件格式。
()
3.在C/S结构中,前端应用程序必须知道数据库的文件名及存放地。
()
4.MySQL产品中自带的一个简单的客户端程序的文件名是mysql.exe。
()
5.SQL语言在Windows系统下关键字大小写敏感。
()
6.同一表中,列名不能重复。
()
7.每个表中只能有一个主键的定义。
()
8.查看当前数据库中各表名的语句为show table。
()
9.结构化查询语言只涉及查询数据的语句,并不包括修改和删除数据的语句。
()
10.相对而言,char类型的列比varchar类型的列浪费空间。
()
11.数据类型为tinyint的列只能保存正整数。
()
12.NULL参加任何算术运算,结果也为NULL。
()
13.x between y and z等同于x>y && x<z。
()
14.逻辑值的“真”和“假”可以用逻辑常量TRUE和FALSE表示。
()
15.数值列中的0就是NULL。
()
16.函数名和紧跟其后的括号之间可以留有空格。
()
17.avg(x)和sum(x)函数在运行时,那些x为NULL的行将不进行计算。
()
18.所创建的数据库和表的名字,都可以使用中文。
()
19.建立索引的目的在于加快查询速度以及约束输入的数据。
()
20.表中对行的插入、修改和删除,不会引起该表索引数据的自动更新。
()
21.主键被强制定义成NOT NULL和UNIQUE。
()
22.ALTER TABLE语句可以修改表中各列的先后顺序。
()
23.select语句的过滤条件既可以放在where子句中,也可以放在from子句中。
()
24.一句insert语句可以插入多行。
()
25.UPDATE语句可以按照指定的排序规则更新数据。
()
26.DELETE语句中只要是没有WHERE子句,就将删除表中的所有数据行,不
()管有没有LIMIT语句。
27.带有GROUP BY子句的SELECT语句,结果集中每一个组只用一行数据来
()表示。
28.如果在排序和分组的对象上建立了索引,可以极大地提高速度。
()
29.不使用JOIN关键字,也可以表示内连接。
()
30.参与UNION联合的各个SELECT语句结果集的列数可以不同。
()
二.单选题(每题1分,共10分)
1.如果三层结构中的三层分别安装在三台机器中,那么各台机器所用的操作系统的关系
应该是____。
A.三台机器可以使用各不相同的操作系统。
B.前两层所在的机器操作系统必须相同。
C.后两层所在的机器操作系统必须相同。
D.三台机器必须使用相同的操作系统。
2.数据库服务器、数据库和表的关系,正确的说法是_____。
A.一个数据库服务器可以管理多个数据库,一个数据库只能包含一个表。
B.一个数据库服务器只能管理一个数据库,一个数据库可以包含多个表。
C.一个数据库服务器可以管理多个数据库,一个数据库可以包含多个表。
D.一个数据库服务器只能管理一个数据库,一个数据库只能包含一个表。
3.察看数据库服务器所管理的数据库名称的语句为_____。
A.show databases
B.show tables
C.show database
D.show table
4.对于insert语句正确的说法是_____。
A.一句语句可以插入多行数据,能指定插入至某一已存在的行的前面。
B.一句语句只能插入一行数据,能指定插入至某一已存在的行的前面。
C.一句语句只能插入一行数据,不能指定插入至某一已存在的行的前面。
D.一句语句可以插入多行数据,不能指定插入至某一已存在的行的前面。
5.对于delete语句正确的说法是:_____。
A.可以删除整个数据库。
B.可以删除整个表,包括表的结构。
C.只能删除一个表中的行,不能删除表结构。
D.一句语句只能删除一行。
6.SELECT语句中的限制结果集行数子句为_____。
A.limit
B.order by
C.from
D.having
7.表中有一个列的数据类型为int(5),其中的5表示_____。
A.最小存储宽度
B.最大存储宽度
C.最小显示宽度
D.最大显示宽度
8.将某一个数据库指定为当前数据库,可以使用的语句为_____。
A.OPEN
B.DEFAULT
C.CURRENT
E
9.有三个表,它们的记录行数分别是10行、2行和6行,三个表进行交叉连接后,结果
集中共有_____行数据。
A.18
B.26
C.120
D.不确定
10.SELECT m.member,b.book FROM members m inner join books b using(mid);语句等
效于_____。
A.SELECT m.member,b.book FROM members m,books b where m.mid=b.mid;
B.SELECT m.member,b.book FROM members m left join books b where
m.mid=b.mid;
C.SELECT m.member,b.book FROM members m left join books b where
m.mid<>b.mid;
D.SELECT m.member,b.book FROM members m inner join books b on (mid);
三.填充题(每格1.5分共15分)
1.如果
的命令窗口中,启动MySQL服务
2.smallint和tinyint两种数据类型占用的字节数分别为2和1。
写出两种DBMS:SQL Server和Oracle
3.bigint类型的数据占用的字节数为:8 。
4.select -2.0*4.0;的结果为__-8.00___。
5.select 9/3;的结果为__3.0000___。
6.select 'Abc'='abc';的结果为_____。
7.select NULL=NULL/1;的结果为_____。
说明:如下所列的数据表及其中的数据适用于下列所有的试题!
当前数据库是testdb,在该数据库中,有students、scores、courses、majors四个表,其结
四. 程序改错(注意:在题目的原意上修改,最终语句写在题目的右方)(每题5分共10
分) 1. 在scores 表中,列出“课程编号”不为2、4、5并且还没有输入“分数”的记录行,
结果按学期从小到大排序,如学期相同,再按“课程编号”从大到小排序,
select * from scores where course in not (’2’,’4’,’5’) or score=null order term-cid; Select * from scores where course not in (‘2’, ‘4’, ‘5’) and score is null oder by term asc, cid desc
2. 对scores 表的分数在“课程编号”和“学期”上进行分组计数、累加、平均统计,
不包括第4学期,也不包括学号为6的同学,结果按计数和平均值排序,并满足平均分在70到81之间的行。
select cid, term, count(*) cnt, sum(score),avg(score) avg from "scores"
where term<>4
group cid+term
having id<>’6’
and avg between 70 and 81 order cnt+avg;Select cid, term, count(*) as cnt, sum(score) as total, avg(score) as avg from ‘scores’where term != 4 and id != 6 group by cid, term having avg between 70 and 81 order by cnt, avg
五.写出下列语句的运行结果(每题5分共10分)
1.SELECT s
, s2.mid
FROM students s1, students s2
WHERE s1. mid = s2. mid and
=’赵六’ and <>’赵六’;name mid 张三 1
2. select cid,cname
from courses
where not exists
(select * from scores where
courses.cid=scores.cid);
5, FoxPro数据库
六.按要求写出SQL语句(每题5分,共25分)
查询统计所有男同学的平均分数和所有女同学的平均分数。
查询结果集中有两列,分别为“性别”和“平均分”,只有两行记录,一行是男同学的平均分数,另一行是女同学的平均分数。
(使用一句语句)
select stu.sex as sex, avg(sc.score) as avg from scores as sc join students as stu on ( stu.id = sc.id ) group by stu.sex
1.
2.查询没有任何成绩的学生的名字。
(使用一句语句)
select from scores as sc join students as stu on ( stu.id = sc.id) where sc.scores is null
将students表中的结构(主键和索引)和数据复制到一个新的students1表中。
(分两个步骤两句语句)
create table students1 like students;
3.insert into students1 select * from students;
在students1表中添加一个email列,该列最大字符宽度为40、具有唯一索引,并将该列放在mid列的前面。
(使用一句语句)
create table students1 like students;
4.insert into students1 select * from students;
5.删除students1中1980年出生的记录行。
(使用一句语句)delete from students where bofd > ‘1980’ and bofd < ‘1981’。