MySQL数据库考测试试题(答案)

  Mysql 测试题 (总分150分,时间2个小时)

 

一、单项选择题( 1分1个,共100分)

1.以下聚合函数求数据总和的是(      )

A.MAX

B.SUM

C.COUNT

D.AVG

答案:B

2.可以用(      )来声明游标

A.CREATE CURSOR

B.ALTER CURSOR

C.SET CURSOR

D.DECLARE CURSOR

答案:D

3.SELECT语句的完整语法较复杂,但至少包括的部分是(      )

A.仅SELECT

B.SELECT,FROM

C.SELECT,GROUP

D.SELECT,INTO

答案:B

4.SQL语句中的条件用以下哪一项来表达(      )

A.THEN

B.WHILE

C.WHERE

D.IF

答案:C

5.使用CREATE TABLE语句的(      )子句,在创建基本表时可以启用全文本搜索

A.FULLTEXT

B.ENGINE

C.FROM

D.WHRER

答案:A

6.以下能够删除一列的是(      )

A.alter table emp remove addcolumn

B.alter table emp drop column addcolumn

C.alter table emp delete column addcolumn

D.alter table emp delete addcolumn

答案:B

7.若要撤销数据库中已经存在的表S,可用( )。

A.DELETE TABLE S

B.DELETE S

C.DROP S

D.DROP TABLE S

答案:D

8.查找表结构用以下哪一项(      )

A.FIND

B.SELETE

C.ALTER

D.DESC

答案:D

9.要得到最后一句SELECT查询到的总行数,可以使用的函数是(      )

A.FOUND_ROWS

B.LAST_ROWS

C.ROW_COUNT

D.LAST_INSERT_ID

答案:A

10.在视图上不能完成的操作是(      )

A.查询

B.在视图上定义新的视图

C.更新视图

D.在视图上定义新的表

答案:D

11.UNIQUE惟一索引的作用是(      )

A.保证各行在该索引上的值都不得重复

B.保证各行在该索引上的值不得为NULL

C.保证参加惟一索引的各列,不得再参加其他的索引

D.保证惟一索引不能被删除

答案:A

12.用于将事务处理写到数据库的命令是(      )

A.insert

B.rollback

C.commit

D.savepoint

答案:C

13.查找条件为:姓名不是NULL的记录(      )

A.WHERE NAME ! NULL

B.WHERE NAME NOT NULL

C.WHERE NAME IS NOT NULL

D.WHERE NAME!=NULL

答案:C

14.主键的建立有(      )种方法

A.一

B.四

C.二

D.三

答案:D

15.在视图上不能完成的操作是(      )

A.更新视图数据

B.在视图上定义新的基本表

C.在视图上定义新的视图

D.查询

答案:B

16.在SQL语言中,子查询是( ) 。

A.选取单表中字段子集的查询语句

B. 选取多表中字段子集的查询语句

C.返回单表中数据子集的查询语言

D.嵌入到另一个查询语句之中的查询语句

答案:D

17.向数据表中插入一条记录用以下哪一项(      )

A.CREATE

B.INSERT

C.SAVE

D.UPDATE

答案:B

18.在select语句的where子句中,使用正则表达式过滤数据的关键字是(      )

A.like

B.against

C.match

D.regexp

答案:D

19.SQL语言的数据操纵语句包括SELECT、INSERT、UPDATE、DELETE等。其中最重要的,也是使用最频繁的语句是(      )。 

A.UPDATE

B.SELECT

C.DELETE

D.INSERT

答案:B

20. 以下哪种操作能够实现实体完整性(      )

A.设置唯一键

B.设置外键

C.减少数据冗余

D.设置主键

答案:B

21.SQL语言中,删除一个视图的命令是(      )

A.REMOVE

B.CLEAR

C.DELETE

D.DROP

答案:D

22.修改数据库表结构用以下哪一项(      )

A.UPDATE

B.CREATE

C.UPDATED

D.ALTER

答案:D

23.在全文本搜索的函数中,用于指定被搜索的列的是(   A   )

A.MATCH()

B.AGAINST()

C.FULLTEXT()

D.REGEXP()

答案:A

24.以下语句正确的是(      )

A.select sal+1 from emp;

B.select sal*10,sal*deptno from emp;

C.不能使用运算符号

D.select sal*10,deptno*10 from emp;

答案:C

25.下列(      )不属于连接种类

A.左外连接

B.内连接

C.中间连接

D.交叉连接

答案:C

26.若用如下的SQL语句创建了一个表SC:(      )

CREATE TABLE SC (S# CHAR(6) NOT NULL,C# CHAR(3) NOT NULL,SCORE INTEGER,NOTE CHAR(20));向SC表插入如下行时,( )行可以被插入 。

A.(NULL,’103’,80,’选修’)

B.(’200823’,’101’,NULL,NULL)

C.(’201132’,NULL,86,’ ’)

D.(’201009’,’111’,60,必修)

答案:B

27.删除用户账号命令是(      )

A.DROP USER

B.DROP TABLE USER

C.DELETE USER

D.DELETE FROM USER

答案:A

28.以下语句错误的是(      )

A. alter table emp delete column addcolumn;

B. alter table emp modify column addcolumn char(10);

C.alter table emp change addcolumn  addcolumn int;

D. alter table emp add column addcolumn int;

答案:A

29.组合多条SQL查询语句形成组合查询的操作符是(      )

A.SELECT

B.ALL

C.LINK

D.UNION

答案:D

30.创建数据库使用以下哪项(      )

A.create mytest

B.create table mytest

C.database mytest

D.create database mytest

答案:D

31.以下哪项用来分组(      )

A.ORDER BY

B.ORDERED BY

C.GROUP BY

D.GROUPED BY

答案:C

32.SQL是一种(      )语言。

A. 函数型

B.高级算法

C.关系数据库

D. 人工智能

答案:C

33.删除数据表用以下哪一项(      )

A.DROP

B.UPDATE

C.DELETE

D.DELETED

答案:A

34.若要在基本表S中增加一列CN(课程名),可用(      )

A.ADD TABLE S ALTER(CN CHAR(8))

B.ALTER TABLE S ADD(CN CHAR(8))

C.ADD TABLE S(CN CHAR(8))

D.ALTER TABLE S (ADD CN CHAR(8))

答案:B

35.下列的SQL语句中,(      )不是数据定义语句。

A.CREATE TABLE

B.GRANT

C.CREATE VIEW

D. DROP VIEW

答案:B

36.以下删除记录正确的(      )

A.delete from emp where name='dony';

B.Delete * from emp where name='dony';

C.Drop from emp where name='dony';

D.Drop * from emp where name='dony';

答案:A

37.删除经销商1018的数据记录的代码为(      ) from distributors where distri_num=1018

A.drop table

B.delete *

C.drop column

D.delete

答案:D

38.按照姓名降序排列(      )

A.ORDER BY DESC NAME

B.ORDER BY NAME DESC

C.ORDER BY NAME ASC

D.ORDER BY  ASC NAME

答案:B

39.可以在创建表时用(      )来创建唯一索引,也可以用(      )来创建唯一索引

A.Create table,Create index

B.设置主键约束,设置唯一约束

C.设置主键约束,Create index

D.以上都可以

答案:C

40.在SELECT语句中,使用关键字(      )可以把重复行屏蔽

A.TOP

B.ALL

C.UNION

D.DISTINCT

答案:D

41.以下聚合函数求平均数的是(      )

A.COUNT

B.MAX

C.AVG

D.SUM

答案:C

42.返回当前日期的函数是(      )

A.curtime()

B.adddate()

C.curnow()

D.curdate()

答案:D

43.用来插入数据的命令是(      ),用于更新的命令是(      )

A.INSERT,UPDATE

B.CREATE,INSERT INTO

C.DELETE,UPDATE

D.UPDATE,INSERT

答案:A

44.SELECT COUNT(SAL) FROM EMP GROUP BY DEPTNO;意思是(      )

A.求每个部门中的工资

B.求每个部门中工资的大小

C.求每个部门中工资的综合

D.求每个部门中工资的个数

答案:D

45.以下表达降序排序的是(      )

A.ASC

B.ESC

C.DESC

D.DSC

答案:C

46.以下哪项不属于数据模型(      )

A.关系模型

B.网状模型

C.层次模型

D.网络模型

答案:D

47.有三个表,它们的记录行数分别是10行、2行和6行,三个表进行交叉连接后,结果集中共有(      )行数据

A.18

B.26

C.不确定

D.120

答案:D

48.从GROUP BY分组的结果集中再次用条件表达式进行筛选的子句是(      )

A.FROM

B.ORDER BY

C.HAVING

D.WHERE

答案:C

49.为数据表创建索引的目的是(      )

A.提高查询的检索性能

B.归类

C.创建唯一索引

D.创建主键

答案:A

50.如果要回滚一个事务,则要使用(      )语句。

A.commit   transaction

B. begin   transaction

C. revoke   

D.rollback   transaction   

答案:D

51.查找数据表中的记录用以下哪一项(      )

A.ALTRE

B.UPDATE

C.SELECT

D.DELETE

答案:C

52.在MySQL中,建立数据库用(      )

A.CREATE TABLE命令

B.CREATE TRIGGER命令

C.CREATE INDEX命令

D.CREATE DATABASE命令

答案:D

53.MySQL中,预设的、拥有最高权限超级用户的用户名为(      )

A.test

B.Administrator

C.DA

D.root

答案:D

54.以下插入记录正确的(      )

A.insert into emp(ename,hiredate,sal) values (value1,value2,value3);

B.insert into emp (ename,sal)values(value1,value2,value3);

C.insert into emp (ename)values(value1,value2,value3);

D.insert into emp (ename,hiredate,sal)values(value1,value2);

答案:A

55.在SQL语言中的视图VIEW是数据库的(      )

A.外模式

B.存储模式

C.模式

D. 内模式

答案:A

56.以下哪项用来排序(      )

A.ORDERED BY

B.ORDER BY

C.GROUP BY

D.GROUPED BY

答案:B

57.以下聚合函数求个数的是(      )

A.AVG

B.SUM

C.MAX

D.COUNT

答案:D

58.在select语句中,实现选择操作的子句是(      )

A.select

B.group by

C.where

D.from

答案:C

59.查找数据库中所有的数据表用以下哪一项(      )

A.SHOW DATABASE

B.SHOW TABLES

C.SHOW DATABASES

D.SHOW TABLE

答案:B

60.触发器不是响应以下哪一语句而自动执行的Mysql语句

A.select

B.insert

C.delete

D.update

答案:A

61.(      )表示一个新的事务处理块的开始

A.START TRANSACTION

B.BEGIN TRANSACTION

C.BEGIN COMMIT

D.START COMMIT

答案:A

62.以下语句不正确的是(      )

A.select * from emp;

B.select ename,hiredate,sal from emp;

C.select * from emp order deptno;

D.select * from where deptno=1 and sal<300;

答案:C

63.delete from employee语句的作用是(      )

A.删除当前数据库中整个employee表,包括表结构

B.删除当前数据库中employee表内的所有行

C.由于没有where子句,因此不删除任何数据

D.删除当前数据库中employee表内的当前行

答案:B

64.按照班级进行分组(      )

A.ORDER BY CLASSES

B.DORDER CLASSES

C.GROUP BY CLASSES

D.GROUP CLASSES

答案:C

65.格式化日期的函数是(      )

A.DATEDIFF()

B.DATE_FORMAT()

C.DAY()

D.CURDATE()

答案:B

66.例如数据库中有A表,包括学生,学科,成绩 ,序号四个字段 , 数据库结构为

学生     学科     成绩  序号

张三     语文     60    1

张三     数学     100   2

李四     语文     70    3

李四     数学     80    4

李四     英语     80    5

上述哪一列可作为主键列(      )

A.序号

B.成绩

C.学科

D.学生

答案:A

67.学生关系模式 S( S#,Sname,Sex,Age),S的属性分别表示学生的学号、姓名、性别、年龄。要在表S中删除一个属性“年龄”,可选用的SQL语句是( )。

A. UPDATE S Age

B.DELETE Age from S

C.ALTER TABLE S ‘Age’

D. ALTER TABLE S DROP Age

答案:D

68.以下哪项用于左连接(      )

A.JOIN

B.RIGHT JOIN

C.LEFT JOIN

D.INNER JOIN

答案:C

69.一张表的主键个数为(      )

A.至多3个

B.没有限制

C.至多1个

D.至多2个

答案:C

70.SQL语言是(      )的语言,轻易学习 。

A.导航式

B.过程化

C.格式化

D.非过程化

答案:D

71.在正则表达式中,匹配任意一个字符的符号是(      )

A..

B.*

C.?

D.-

答案:A

72.条件“BETWEEN 20 AND 30”表示年龄在20到30之间,且(      )

A.包括20岁不包括30岁

B.不包括20岁包括30岁

C.不包括20岁和30岁

D.包括20岁和30岁

答案:D

73.以下表示可变长度字符串的数据类型是(      )

A.TEXT

B.CHAR

C.VARCHAR

D.EMUM

答案:C

74.以下说法错误的是(      )

A.SELECT max(sal),deptno,job FROM EMP group by sal;

B.SELECT max(sal),deptno,job FROM EMP group by deptno;

C.SELECT max(sal),deptno,job FROM EMP;

D.SELECT max(sal),deptno,job FROM EMP group by job;

答案:C

75.以下匹配'1 ton'和'2 ton'及'3 ton'的正则表达式是(      )

A.'123 ton'

B.'1,2,3 ton'

C.'[123] ton'

D.'1|2|3 ton'

答案:C

76.拼接字段的函数是(      )

A.SUBSTRING()

B.TRIM()

C.SUM()

D.CONCAT()

答案:D

77.以下删除表正确的(      )

A.Delete * from emp

B.Drop database emp

C.Drop * from emp

D.delete database emp

答案:B

78.下列说法错误的是(      )

A.GROUP BY 子句用来分组 WHERE 子句的输出

B.WHERE 子句用来筛选 FROM 子句中指定的操作所产生的行。

C.聚合函数需要和group by 一起使用

D.HAVING 子句用来从FROM的结果中筛选行

答案:D

79.条件年龄BETWEEN 15 AND 35表示年龄在15至35之间,且(      )

A.不包括15岁和35岁

B.包括15岁但不包括35岁

C.包括15岁和35岁

D.包括35岁但不包括15岁

答案:C

80.创建视图的命令是(      )

A.alter view

B.alter table

C.create table

D.create view

答案:D

81.存储过程是一组预先定义并(      )的Transact-SQL语句

A.保存

B.编写

C.编译

D.解释

答案:C

82.返回字符串长度的函数是(      )

A.len()

B.length()

C.left()

D.long()

答案:B

83.从数据表中查找记录用以下哪一项(      )

A.UPDATE

B.FIND

C.SELECT

D.CREATE

答案:C

84.SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体,其中,CREATE、DROP、ALTER语句是实现哪种功能(      )

A.数据操纵

B.数据控制

C.数据定义

D.数据查询

答案:C

85.以下哪项不属于DML操作(      )

A.insert

B.update

C.delete

D.create

答案:D

86.按照姓名升序序排列(      )

A.ORDER BY NAME ASC

B.ORDER BY  ASC NAME

C.ORDER BY NAME DESC

D.ORDER BY DESC NAME

答案:A

87.有关系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子句的内容是( )。

A.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.S.S# = SC.S# and C.C# = SC.C# and SAGE>=20 and CNAME=‘ACCESS’

答案:D

88.以下哪项属于DDL操作(      )

A.update

B.create

C. insert

D.delete

答案:B

89.查找条件为:姓名为NULL的记录(      )

A.WHERE NAME NULL

B.\WHERE NAME IS NULL

C.WHERE NAME=NULL

D.\WHERE NAME ==NULL

答案:B

90.条件“IN(20,30,40)”表示(      )

A.年龄在20到40之间

B.年龄在20到30之间

C.年龄是20或30或40

D.年龄在30到40之间

答案:C

91.更新数据表中的记录用以下哪一项(      )

A.DELETE

B.ALTRE

C.UPDATE

D.SELECT

答案:C

92.关系数据库中,主键是(      )

A.创建唯一的索引,允许空值

B.只允许以表中第一字段建立

C.允许有多个主键的

D.为标识表中唯一的实体

答案:D

93.使用SELECT语句随机地从表中挑出指定数量的行,可以使用的方法是(      )

A.在LIMIT子句中使用RAND()函数指定行数,并用ORDER BY子句定义一个排序规则

B.只要使用LIMIT子句定义指定的行数即可,不使用ORDER BY子句

C.只要在ORDER BY子句中使用RAND()函数,不使用LIMIT子句

D.在ORDER BY子句中使用RAND()函数,并用LIMIT子句定义行数

答案:D

94.进入要操作的数据库TEST用以下哪一项(      )

A.IN TEST

B.SHOW TEST

C.USER TEST

D.USE TEST

答案:D

95.例如数据库中有A表,包括学生,学科,成绩三个字段 , 数据库结构为

学生     学科     成绩

张三     语文     80

张三     数学     100

李四     语文     70

李四     数学     80

李四     英语     80

如何统计每个学科的最高分(      )

A.select 学生,max(成绩) from A group by 学生;

B.select 学生,max(成绩) from A group by学科;

C.select 学生,max(成绩) from A order by学生;

D.select 学生,max(成绩) from A group by 成绩;

答案:B

96.下列哪些语句对主键的说明正确(      )

A.主键可重复

B.主键不唯一

C.在数据表中的唯一索引

D.主键用foreign key修饰

答案:C

97.数据库服务器、数据库和表的关系,正确的说法是(      )

A.一个数据库服务器只能管理一个数据库,一个数据库只能包含一个表

B.一个数据库服务器可以管理多个数据库,一个数据库可以包含多个表

C.一个数据库服务器只能管理一个数据库,一个数据库可以包含多个表

D.一个数据库服务器可以管理多个数据库,一个数据库只能包含一个表

答案:B

98.例如数据库中有A表,包括学生,学科,成绩三个字段 , 数据库结构为

学生     学科     成绩

张三     语文     60

张三     数学     100

李四     语文     70

李四     数学     80

李四     英语     80

如何统计最高分>80的学科(      )

A.SELECT MAX(成绩)  FROM A GROUP BY学科  HAVING MAX(成绩)>80;

B.SELECT学科  FROM A GROUP BY学科  HAVING成绩>80;

C.SELECT学科  FROM A GROUP BY学科  HAVING MAX(成绩)>80;

D.SELECT学科  FROM A GROUP BY学科 WHERE MAX(成绩)>80;

答案:C

99.统计每个部门中人数(      )

A.SELECT SUM(ID) FROM EMP GROUP BY DEPTNO;

B.SELECT SUM(ID) FROM EMP ORDER BY DEPTNO;

C.SELECT COUNT(ID) FROM EMP ORDER BY DEPTNO;

D.SELECT COUNT(ID) FROM EMP GROUP BY DEPTNO;

答案:D

100.DECIMAL是(      )数据类型

A.可变精度浮点值

B.整数值

C.双精度浮点值

D.单精度浮点值

答案:A

 

 

二、填空题(1分1个,共30分)

1.select 9/3;的结果为_____。

答案:3.0000

2.补全语句:select vend_id,count(*) as num_prods from products group by ____;

答案:vend_id

3.用SELECT进行模糊查询时,可以使用匹配符,但要在条件值中使用____或%等通配符来配合查询。

答案:-

4.当所查询的表不在当前数据库时,可用___________________________格式来指出表或视图对象

答案:数据库.所有者名称.对象名称

5.语句SELECT “1+2”;的显示结果是____

答案:“1+2”

6.如果MySQL服务名为MySQL5,则在Windows的命令窗口中,启动MySQL服务的指令是____

答案:net start mysql5

7.MySQL是一种______(多用户、单用户)的数据库管理系统

答案:多用户

8.select ‘2.5a’+3;的结果为_____。

答案:5.5

9.select (NULL<=>NULL) is NULL;的结果为_____。

答案:0

10.创建数据表的命令语句是_________

答案:create table

11.____语句可以修改表中各列的先后顺序

答案:ALTER TABLE

12.当某字段要使用AUTO_INCREMENT的属性时,该字段必须是____类型的数据。

答案:INT

 

13.当某字段要使用AUTO_INCREMENT的属性时,除了该字段必须是指定的类型外,该字段还必须是____

答案:关键字段或索引字段

14.在SELECT语句的FROM子句中最多可以指定_______个表或视图

答案:256

15.ODBC是一种____________

答案:开放式数据库连接

16.在SELECT语句的FROM子句中可以指定多个表或视图,相互之间要用________分隔

答案:逗号

17.Table 'a1' already exists这个错误信息的含义是_____

答案:表a1已经存在

18.对一个超过200个汉字的内容,应用一个____型的字段来存放

答案:text

19.在INSERT触发器中,可以引用一个名为____的虚拟表,访问被插入的行

答案:NEW

20.语句SELECT “张三\n李四”的显示结果是_____

 

 

答案:”张三\n李四”

21.smallint数据类型占用的字节数分别为   

答案:2

22.在DELETE触发器中,可以引用一个名为____的虚拟表,访问被删除的行

答案:OLD

23.察看当前数据库中表名语句是_____。

答案:show tables

24.删除表命令是:___________________________________________。

答案:drop table

25.select 'Abc'='abc';的结果为_____。

答案: 1

26.select -2.0*4.0;的结果为_____。

答案:-8.00

27.tinyint数据类型占用的字节数为___

答案:1

28.补全语句:select vend_id,count(*) from products where prod_price>=10 group by vend_id ____ count(*)>=2;

答案:having

29.计算字段的累加和的函数是:_______

答案:sum()

30.用SELECT进行模糊查询时,可以使用________匹配符

答案:like

 

 

 编程题(5分一个,共10分)

  1 现有一销售表,表名是sale,它的结构如下:

id     int                         (标识号)

codno     char(7)                  (商品编码)

codname     varchar(30)            (商品名称)

spec     varchar(20)         (商品规格)

price     numeric(10,2)        (价格)

sellnum     int          (销售数量)

deptno     char(3)         (售出分店编码)

selldate     datetime          (销售时间)

要求:写出查询销售时间段在2002-2-15日到2002-4-29之间,分店编码是01的所有记录。

答案:SELECT * FROM sale

       WHERE (selldate >= '2002-2-15' AND selldate <='2002-4-29')

          AND deptno = '01'

 

2 编写一个返回表products中prod_price字段平均值且名称为productpricing的存储过程

答案:CREATE PROCEDURE productpricing(out avg_price)

BEGIN

Select avg(prod_price)into avg_price  from products;

End;

 

  • 简答题 (1题5分,共10 分)

   1 MySQL中varchar与char的区别以及varchar(50)中的50代表的涵义 ?

  1. 、varchar与char的区别
    char是一种固定长度的类型,varchar则是一种可变长度的类型
    (2)、varchar(50)中50的涵义
    最多存放50个字符,varchar(50)和(200)存储hello所占空间一样,但后者在排序时会消耗更多内存,因为order by col采用fixed_length计算col长度(memory引擎也一样)
    (3)、int(20)中20的涵义
    是指显示字符的长度
    但要加参数的,最大为255,比如它是记录行数的id,插入10笔资料,它就显示00000000001 ~~~00000000010,当字符的位数超过11,它也只显示11位,如果你没有加那个让它未满11位就前面加0的参数,它不会在前面加0
    20表示最大显示宽度为20,但仍占4字节存储,存储范围不变

 

2 索引的定义和作用,以及优缺点和什么样的字段适合用索引?

  

 

你可能感兴趣的:(mysql)