当前位置:文档之家› SQL试题及答案

SQL试题及答案

模拟测验1一、选择题(在每个小题四个备选答案中选出一个正确答案,填在题末的括号中)(本大题共10小题,每小题2分,总计20分)1.()是位于用户与操作系统之间的一层数据管理软件,它属于系统软件,它为用户或应用程序提供访问数据库的方法。

数据库在建立、使用和维护时由其统一管理、统一控制。

A.DBMS B.DBC.DBS D.DBA2.下列四项中,不属于SQL2005实用程序的是()。

A.对象资源管理器B.查询分析器C.服务管理器D.媒体播放器3.SQL Server安装程序创建4个系统数据库,下列哪个不是()系统数据库。

A.masterB.modelC.pubD.msdb4.下列哪个不是sql数据库文件的后缀。

A..mdf B..ldfC..tif D..ndf5.SQL语言允许使用通配符进行字符串匹配的*作,其中‘%’可以表示()A.零个字符B.1个字符串C.多个字符串D.以上都是6.SQL语言中,条件年龄BETWEEN15AND35表示年龄在15至35之间,且()。

A.包括15岁和35岁B.不包括15岁和35岁C.包括15岁但不包括35岁D.包括35岁但不包括15岁7.SQL的视图是从()中导出的。

A.基本表B.视图C.基本表或视图D.数据库8.在SQL语言中,建立存储过程的命令是()A、CREATE PROCEDUREB、CREATE RULEC、CREATE DURED、CREATE FILE9.SQL语言中,删除表中数据的命令是()。

A.DELETEB.DROPC.CLEARD.REMOVE10.在MS SQL Server中,用来显示数据库信息的系统存储过程是()。

A.sp_dbhelpB.sp_dbC.sp_helpD.sp_helpdb二、简答题(16分)1、什么是游标?使用游标的步骤?2、什么是事务?事务的基本属性是什么?三、应用题1、创建一个名字为ks的数据库,包含一个数据文件和一个日志文件,逻辑文件名为ks_data,磁盘文件名为ks_data.mdf,文件初始容量为5MB,最大容量为10MB,文件递增量为1MB;而事务日志文件的逻辑文件名ks_log,磁盘文件名为ks_log.ldf,文件初始容量为1MB,最大容量为5MB,文件递增量为1MB(数据库创建在C:\SERVER文件夹下)(10分)2、假设ks数据库有以下三张表,请写出下列问题的SQL语句:(每题6分,共54分)学生(学号,姓名,年龄,性别)课程(课程号,课程名,任课教师)成绩(学号,课程号,成绩)(1)如何在SQL Server上创建这三张表;(2)查询刘峰教师所授课程号,课程名;(3)查询年龄大于20岁的所有男同学的学号、姓名;(4)查询王文芳同学选修的所有课程的课程号;(5)查询所有上刘峰老师课程的学生学号;(6)查询所有选修“数据库技术”的学生的学号;(7)向学生表中插入一条记录(’2003001’,’吴红’,21,’女’);(8)删除三张表中所有学号为20020001的学生信息;(9)把学号为20030002的学生的年龄改为22岁;SQL Server2005复习题一、选择题1.SQL语言允许使用通配符进行字符串匹配的*作,其中‘%’可以表示(C)A零个字符B1个字符串C多个字符串D以上都是2如何在已经创建好的表上添加一个外键(A)A Alter table表名add foreign key(键名)reference关联表(关联键名)B Alter table表名add Primary key(键名)reference关联表(关联键名)C Alter表名add foreign key(键名)reference关联键名)D Alter表名add Primary key(键名)reference关联表(关联键名)3.要修改表名为Table1的字段Field1长度,原为Char(10)要求用SQL增加长度为char (20),以下语句那个正确(C)A Alter table Table1Alter Field1char(20)B Alter Table1Alter column Field1char(20)C Alter table Table1Alter column Field1char(20)D Alter column Field1char(20)4.下面聚集函数中哪个只能用于计算数值类型的数据(D)A COUNT()B MIN()C MAX()D SUM()5.以下哪个关键字用来定义记录在某属性上的约束条件(D)A DEFAULTB DISTINCTC UNIQUED CHECK6.欲往表中增加一条记录,应该用哪一条SQL语句(B)A ALTER TABLEB INSERT INTO TABLEC CREATE TABLED DROP TABLE7.以下哪一个不是逻辑运算符(D)A NOTB ANDC ORD IN8.在创建表的过程中,哪个关键字用来定义默认值(D)A DISTINCTB UNIQUEC CHECKD DEFAULT二、填空题1数据库技术经历了人工管理阶段,_________和_______三个发展阶段。

2数据库系统中最常用的三种数据模型有层次模型,_________和_______。

3关系模式的三类完整性约束条件分别是_____,_____,和______。

4E-R图的主要元素是实体型,______,______。

5在E-R模型的主要术语中,属性的取值范围称为_______。

能够区别不同的实体且能唯一标识实体的最小属性集,称为______。

填空题答案:1文件系统阶段,数据系统阶段2网状模型,关系模型3实体完整性,引用完整性约束,用户自定义完整性4属性,联系5域,实体集的实体键三、判断题1默认值绑定到列上后,该列上的值将固定不能改变(X)2一张表允许有多个主键,但只能有一个外键(X)3可以通过SQL语句修改数据库名称及表的名称(√)4聚集函数SUM()与AVG()可以用来操作任何类型的数据(X)5要删除一条记录使用DROP指令(X)6在空串处理语句中,IS NULL用来判断属性值是否为空,在此IS是关键字,不是标准的逻辑运算符(√)7在模糊查询中可以使用LIKE结合通配符一块儿实现,其中%代表单个字符(X)8在查询语句中,若要把记录进行降序排列应使用ORDER BY字段名DESC(√)9在创建表的过程中,如果一属性是DATETIME类型需要指定长度(X)10在关系数据库的设计过程中,允许在设计后对表结构进行修改(√)四、基本操作现在要为学校建立一个数据库,设学校的环境如下:一个系有若干个专业,每个专业一年只招一个班,每个班有若干个学生,现要建立关于系、学生、班级的数据库,关系模式为:学生表STUDENT(学号,姓名,性别,生源地,出生日期)班级表CLASS(班号,专业名,系号,入学年份)系DEPARTMENT(系号,系名)使用SQL语句完成一下功能:1建立数据库名为SCHOOL并激活当前新建的数据库CREATE DATABASE SCHOOLON PRIMARY(NAME=SCHOOL,FILENAME='D:\SCHOOL.mdf',SIZE=5MB,MAXSIZE=20MB,FILEGROWTH=1MB)LOG ON(NAME=SCHOOL_log,FILENAME='D:\SCHOOL_log.ldf',SIZE=2MB,MAXSIZE=20MB,FILEGROWTH=10%)GOuse SCHOOL2建表:在定义中声明1)每个表要有主键2)学生的性别只能取‘男’或者‘女’3)学生姓名不能为空4)表CLASS中建立外键系名,关联表DEPARTMENT中的系名5)系代号不能重复且不能为空(1)学生表STUDENT(学号,姓名,性别,生源地,出生日期)create table student--学生表定义(学号char(10)primary key,--主键为学号姓名varchar(20)not null,--姓名不能为空值性别char(4)default'男',--性别默认为男性生源地varchar(12),--生源地出生日期datetime,check((性别='男')or(性别='女'))--性别必须为男性或女性)(2)班级表CLASS(班号,专业名,系名,入学年份)--班级表CLASS(班号,专业名,系名,入学年份)create table class--班级表定义(班号char(4)primary key not null,--定义班号不能为空值专业名char(20),--定义专业名系号char(4),--定义学分入学年份datetime,--入学年份foreign key(系号)references department(系号),)(3)系DEPARTMENT(系号,系名)create table department--系表定义(系号char(4)primary key not null,--系代号不能为空系名char(8),--系名unique(系号),--系号是唯一的,即系号不能重复)3插入如下数据CALSS(101,软件,02,2003;102,微电子,02,2004)STUDENT(8101,张三,男,101,山东,1984;8102,钱四,女,121,济南,1984;8103,王玲,女,131,福建,1985;8105,李飞,男,102,河北,1985)DEPARTMENT(02,计算机;03,数学;04,化学)insert into class values('101','软件','02','2003-09-01')insert into class values('102','微电子','02','2004-09-01')insert into student values('8101','张三','男','山东','1984-01-01') insert into student values('8102','钱四','女','济南','1984-01-01') insert into student values('8103','王玲','女','福建','1985-01-01') insert into student values('8105','李飞','男','河北','1985-01-01') insert into department values('02','计算机')insert into department values('03','数学')insert into department values('04','化学')4完成以下的查询功能(1)通过对学生信息表的查询,查询出所有学生的学号,姓名和性别select学号,姓名,性别from student(2)通过对学生信息表的查询,查询来自福建的学生的记录select*from studentwhere生源地='福建'(3)在查询语句中,查询出学生姓名并计算出学生的年龄大小select姓名,datediff(yy,出生日期,getdate())from student(4)用模糊查询出姓钱的女生记录select*from studentwhere姓名like'钱%'(5)在查询语句中使用聚合函数计算出所有学生总数起别名为学生人数select count(*)as'学生人数'from student(6)查询所有班级的信息,并用班级号进行降序排序select*from classorder by班号desc(7)更新学号为8103的这位学生的姓名为张玲update studentset姓名='张玲'where学号='8103'(8)查找出学号在8101到8103的学生信息select*from studentwhere学号between'8101'and'8103'(9)删除姓名为李飞的学生记录delete from studentwhere姓名='李飞'(10)删除数据表STUDENTdrop table studentSQL SERVER2005填空题填空:1.SQL(structured packing Query Language)是__结构化查询_____________语言。

相关主题