文档库 最新最全的文档下载
当前位置:文档库 › SQL练习题

SQL练习题

一、选择题(每小题2分,共60分)

1)( )的操作是把已经存在于磁盘的数据库文件恢复成数据库。(选择一项)

A.附加数据库

B.删除数据库

C.分离数据库

D.压缩数据库

2)通过数据库的选项可以设置数据库()。(选择一项)

A.是否是只读的

B.物理文件是否允许被删除

C.允许创建的表的数目

D.表中所允许的最大数据行的数目

3)Sqlserver数据库的主数据文件的扩展名应设置为()。(选择一项)

A..sql

B..mdf

C..mdb

A..db

4)电话号码应当采用()格式的数据类型来存储。(选择一项)

A.字符

B.整数

C.浮点数

D.bit

5)在表[Student]中有一列为StuName,执行删除语句:delete from [Student] where StuName like

‘_[ae]%’下面包含StuName列的()值的数据行可能被删除。(选择一项)

A.whyte

B.carson

C.annet

D.hunyer

6)假设表[Student]中包含主键列StuName,则执行更新语句:update [Student] set StuName=111

where StuNo=222 执行的结果可能是()。(选择一项)

A.更新了多行数据

B.没有数据更新

C.T-SQL语法错误,不能执行

D.错误,主键列不允许更新

7)数据库管理员为用户创建了一个存储市场有关信息的数据库,按要求创建了数据库之后就把这

件事忘了。后来用户问数据库管理员为什么他无法向数据库中输入数据,这可能是因为()。

(选择一项)

A.数据库过多

B.数据库的约束不起作用

C.用户输入数据行太多

D.还没创建数据库表,因此无法输入数据

8)假设[Course]表式主表,[Student]表是子表,需要建立它们的主外健关系,则()。(选择一项)

A.在设计[Course]表的时候进入到关系的设计

B.在设计[Student]表的时候进入到关系的设计

C.[Student]表主键和[Course]表外键的名称必须一样

D.[Student]表主键和[Course]表外键必须是自动增长数据类型

9)表[Course]和表[Teachters]建立了主外键关系,[Course]为主表,[Teachters]为子表,一下说

法中正确的选项是()。(选择二项)

A.[Teachters]表中存在[Course]表的外键

B.[Teachters]表中存在外键

C.[Course]表中存在外键

D.[Course]表中存在[Teachters] 表的外键

10)要在SQL Server 中创建一个员工信息表,其中员工的薪水、医疗保险和养老保险分别采用三个

字段来存储,但是该公司规定:任何一个员工,医疗保险和养老保险两项之和不能大于薪水的1/3,这项规则可以采用()来实现。(选择一项)

A.主键约束

B.外键约束

C.检查约束

D.默认约束

11)要删除表[Students]中的数据,使用:truncate table [Students]运行结果将是()。(选择

一项)

A.表[Students]中约束依然存在

B.表[Students]被删除

C.表[Students]中的数据被删除了一半,再次执行时,将删除剩下的一半数据行

D.表[Students]表中不符合检查约束要求的数据被删除,而符合检查约束要求的数据依然保

12)设[Employee]表有三列EmpId、EmpGrade、EmpSalaryGrade,并且列值都是整数数据类型,则以

下哪行查询语句能正确执行()。(选择一项)

A.select EmpId from [Employee] order by empId where EmpId=EmpGrade

B.select EmpId from [Employee] where EmpId=EmpGrade= EmpSalaryGrade

C.select EmpId from [Employee] order by EmpGrade+ EmpSalaryGrade

D.select EmpId,EmpGrade from [Employee] where EmpGrade+ EmpSalaryGrade

13)在SQL Server中,有系统数据库和用户数据库,下列不属于系统数据库的是()。(选择一项)

(选择一项)

A.master

B.pubs

C.model

D.msdb

14)在SQL Server中,()约束表示字段的NOT NULL属性。(选择一项)

A.主键

B.检查

C.默认值

D.非空

15)在SQL Server中,有时候需要显示的列名为中文,下列哪项代码具有此功能()。(选择一项)

A.select stuName=’学员姓名’ from [Score]

B.select * ‘学员姓名’ from [Score]

C.select stuName ‘学员姓名’ from [Score]

D.以上都不正确

16)在SQL Server中,查找[Student]表中所有身份证号码CardNo的前三位为010或020的记录,

以下语句正确的是()。(选择二项)

A.select * from [S tudent] where cardno like ‘010%’or ‘020%’

B.select * from [S tudent] where cardno like ‘010%’or cardno like ‘020%’

C.select * from [S tudent] where cardno like ‘0(1,2)0%’

D.select * from [S tudent] where cardno like ‘0[1,2]0%’

17)sql server的两种身份验证方式是( )。(选择两项)

A.管理员身份

B.游客身份

C.sql server身份

D.windows身份

18)下列四项中,不属于数据库特点的是( )。(选择一项)

A.数据共享

B.数据完整性

C.数据冗余很高

D.数据独立性高

19)以下是选择主键的原则是()。(选择两项)

A.最少性

B.重复性

C.隐蔽性

D.稳定性

20)在SQLSerever2005数据库中,字符串函数可以用于控制返回给用户的字符串,以下()函数

用于将传递给它的字符串转变为大写。(选择一项)

A.UPPER

B.LOWER

C.RTRIM

D.STUFF

21)主键用来实施()。(选择一项)

A.实体完整性约束

B.引用完整性约束

C.域完整性约束

D.自定义完整性给束

22)下列执行数据的删除语句在运行时不会产生错误信息的选项是( )。(选择一项)

A.delete * from [E mployee] where SGrade=’6’

B.delete from [E mployee] where Sgrade=’6’

C.delete [E mployee] where Sgrade=’6’

D.delete [E mployee] set Sgrade=’6’

23)定义列中可以接受的数据值或格式,称为()。(选择一项)

A.唯一性约束

B.检查约束

C.主键约束

D.默认约束

24)学生成绩表[grade]中有字段score(float),现在要把所有在55分至60之间的分数提高5分,

以下sql语句正确的是( )。(选择两项)

A.update [Grade]set score=score+5

B.update [Grade] set score=score+5 where score>=55 or score <=60

C.update [Grade] set score=score+5 where score between 55 and 60

D.update [Grade]set score=score+5 where score >=55 and score <=60

25)在SQL Server2005数据库中,系统提供聚合函数对列中的数据进行统计.以下聚合函数中,( )

用于返回表示式中所有值中的最小值。(选择一项)

A.sum

B.min

C.avg

D.count

26)关于多表联接查询,以下()描述是错误的。(选择一项)

A.外联接查询返回的结果集行数可能大于所有符合联接条件的结果集行数。

B.多表联接查询必须使用到join关键字

C.内联接查询返回的结果是:所有符合联接条件的数据。

D.在where子句中指定联接条件可以实现内联接查询。

27)关于分组查询,以下( )描述是错误的。(选择两项)

A.使用group by 进行分组查询

B.对分组后的条件的筛选必须使用having子句

C.having子句不能与where子句同时出现在一个select语句中

D.在使用分组查询时,在select列表中只能出现被分组的列。如:select courseid from

[Grade] group by courseid.

28)创建数据库时需要指定的两类文件是()。(选择两项)

A.主数据文件

B.辅数据文件

C.日志文件

D.文件组

29)性别可以采用的数据类型有()。(选择两项)

A.bit

B.char

C.text

D.money

30)表如果将某一列设置为表的主键,在表中此列的值()。(选择一项)

A.可以出现重复值

B.允许为空值

C.不允许为空值,也不能出现重复值

D.不允许为空值,但允许列值重复

二.编程题(40分)

有两种表,一个是图书信息表,一个是借阅表。

问题:

(1)向图书表中插入如下数据(2分)

‘TP3/12’,’数据库导论’,’王强’,’科学出版社’,17.9,’这本书不错’

‘TP3/15’,’计算机基础’,’张小兵’,’电子工业出版社’,27,null 向借阅表中插入如下数据: (2分)

‘张三’,1,’2010-6-17’,’三天后归还’

‘李四’,2,’2010-6-17’,’五天后归还’

(2)修改《数据库导论》这本书的出版社为“高等教育出版社”。(2分)(3)删除单价是20元以下的图书。(2分)

(4)查询每本书的作者、出版社和价格。(4分)

(5)查询Books表中所有书的价格总和。(4分)

(6)查询价格在15元到20元之间的所有图书(4分)

(7)查询以TP开头的书架下的所有书。(4分)

(8)查询每个出版社出版书的数量。(6分)

(9)查询每个人所借书的书名、价格、以及出版社。(6分)

(10)查询每本书的借阅人。(4分)

相关文档