一、选择题
1、数据模型的三要素不包括(C)
A,数据结构B,数据操作C,数据类型D,完整性约束
2、关系运算不包括(D)
A,连接B,投影C,选择D,查询
3、表1-1所示的学生信息表中的主键为(A)
A,studentnoB,sexC,birthdateD,sname
4、下面的数据库产品中,(C)是开源数据库。
A,OracleB,DB2C,MySQL D,SQL Server
5、E-R概念模型中,信息的3种概念单元不包括(B)
A,实体型B,实体值C,实体属性D,实体间联系
6、Linux和UNIX操作平台上不能使用(D)作为数据库。
A,Oracle B,DB2 C,MySQL D,SQL Server
7、E-R图是数据库设计的工具之一,一般试用于建立数据库的(A)A,概念模型 B,结构模型 C,物理模型 D,逻辑模型
8、SQL语言又称(C)A,结构化定义语言 B,结构化控制语言 C,结构化查询语言 D,结构化操纵语言
9、从E-R模型向关系模型转换,一个M:N的联系转换成一个关系模式时,该关系模式的键是(C)A,M端实体的键 B,N端实体的键C,M端实体键与N端实体键的组合D,重新选取其他属性
10、DB、DBS、DBMS 3者之间的关系是(B)
A,DB包括DBS和DBMS B,DBS包括DB和DBMS
C,DBMS包括DB和DBS D,不能相互包括
11、以下命令中(C)是DML语句。
A,create B,alter C,select(uodate) D,drop
12、以下关于MySQL的说法中错误的是(D)
A,MySQL是一种关系型数据库管理系统
B,MySQL软件是一种开放源码软件
C,MySQL服务器工作在客户端/服务器模式下或嵌入式系统中
D,在Windows系统下书写MySQL语句区分大小写
13、控制台中执行(D)语句时可以退出MySQL。
A,exit B,go或quit C,go或exit D,exit或quit
14、关于MySQL数据库的说法,选项(C)是错误的。
A,MySQL数据库不仅开放源码而且能够跨平台使用。例如,可以在Windows操作系统中安装MySQL数据库,也可以在Linux早在系统中使用MySQL数据库
B,MySQL数据库启动服务时有两种方式,如果服务已经启动可以在任务管理器中查找mysqlId.exe程序,如果该进程存在则表示正在运行
C,手动更改MySQL的配置文件mi.ini时,只能更改与客户端有关的配置,而不能更改与服务器相关的配置信息
D,登录MySQL数据库成功后,直接输入“help;”语句后,按Enter 键可以查看帮助信息
15、下列(B)类型不是MySQL在常用的数据类型。
A,int B,var C,time D,char
16、在MySQL中会话变量前的字符为(D)
A,空格 B,# C,@@ D,@
17、设置表的默认字符集的关键字是(D)
A,default character B,default set C,default D,default character set
18、在MySQL数据库中,通常使用(D)语句来指定一个已有数据库作为当前工作数据库。A,using B,used C,uses D,Use
19、(B)命令用于删除一个数据库。
A,create database B,drop database C,alter database D,Use InnoDB
20、在创建数据库时,可以使用(A)子句确保如果数据库不存在就创建它,如果存在就直接使用它。A,if not exists B,if exists C,if not exist D,if exist
21、MySQL自带数据库中,(B)存储了系统的权限信息。
A,information_schema B,mysql C,sakila D,performance_schema
22、要快速完全清空一张表中的记录可便用如下语句(A)
A.truncatetableB.deletetableC.drop table D.cleartab
23、使用insert命令插入记录时,使用(B)关键字会忽略导致重复关键字的错误
记录。
A.nosameB.ignoreC.repeatD.unique
24、SQL语句中修改表结构的命令是(C)
A.modifytable B.modifystructure C.altertable D.alterstructure
25、只修改列的数据类型的指令是(B)
A.altertable…altercolumn B.altertable…modifycolumn…
C.altertable…update… D.altertable…updatecolumn…
26、删除列的命令是(D)
A.altertable…delete.. B.altertable…deletecolumn…
C.altertable..droprecord… D.altertable…dropcolumn…
27、创建表时,不允许某列为空可以使用(A)命令。
A.notnull B.no null C.not blank D.no blank
28、以下(B)指令无法增加记录。
A.insertinto…values… B.insert into select…
C.insert into…set D,insert into update… alter into select…
29、关于truncatetable描述不正确的是(C)。
A.truncate将删除表中的所有数据
B.表中包含auto_increment列,使用truncatetable可以重置序列值为该列初
始值
C.truncate操作比delete操作占用资源多
D.truncatetable删除表,然后重新构建表
30、在创建表时,可以使用(B)关键字使当前建立的表为临时表。
A.ignore B.temporary C.temptable D.truncate
31、下列描述正确的是(B)。
A、一个数据库只能包含一个数据表 B.一个数据库可以包含多个数据表
C.一个数据库只能包含两个数据表 D.一个数据表可以包含多个数据库
32、select语句中使用(D)关键字可以将重复行屏蔽。
A.orderby B,having C,top D,distinct
33、在select语句中,可以使用(D)子句,将结果集中的数据行根据选择列的值进
逻辑分组,以便能汇总表内容的子集,即实现对每个组的聚集计算。
A.limit B.groupby C,where D,order by
34、使用空值查询时,表示一个列RR不是空值的表达式是(D)。
A.RRisnull B.RR=null C.RRnull D.RRisnotnull
35、select* fromcitylimit5,10描述正确的是(D).。
A.获取第6条到第10条记录B.获取第5条到第10条记录
C.获取第6条到第15条记录D.获取第5条到第15条记录
36、select语句中用于实现关系的选择运算的短语是(C)
A.for B.while C.where D.condition
37、关于select语句以下哪一个描述是错误的?(C)
A.select语句用于查询一个表或多个表的数据
B.select语句属于数据操作语言(DML)
C.select语句的输出列必须是基于表的列
D.select语句表示数据库中一组特定的数据记录
38、select语句的执行过程是从数据库中选取匹配的特定记录和字段,并将这些数据组
织成一个结果集,然后以(D)的形式返回。
A.结构体数组B.系统表C.永久表D.临时表
39、现有订单表orders,包含用户信息userid,产品信息productid,以下(A)语句能够返回至少被订购过两回的productid。
A.selectproductidfromorderswherecount(productid)>1
B.selectproductidfromorderswheremax(productid)>1
C.selectproductidfromorderswherehavingcount(productid)>1group byproductid
- selectproductidfromordersgroupbyproductidhavingcount(productia)>1
40、下列(D)语句不能用于创建索引。
A.createindex B.createtable C.altertableD.createdatabase
41、下面对索引的相关描述正确的是(B)
A.经常被查询的列不适合建索引 B.小型表适合建索引
C.有很多重复值的列不适合建索引 D.是外键或主键的列不适合建索引
42、MySQL中不可对视图执行的操作有(D)
A.selectB.insert C.delete D.createindex
43、对视图的描述错误的是(D)
A.视图是一张虚拟表
B.视图定义包含limit子句时才能设置排序规则
C.可以像查询表一样来查询视图
D.被修改数据的视图只能是一个基表的列
44、含有withcheckoption参数的视图没有对基表的(A)进行限制的用途。
A.查询权询B.数据删除 C.数据更新D.数据插人
45、索引可以提高(D)操作的效率。
A.insert B.updateCdelete D.select
46、在MySQL中唯一索引的关键字是(C)
A.fulltext B.only C.unique D.index
47、在MySQL语句中,可以匹配0个到多个字符的通配符是(B)
A,* B,% C,? D,-
48、MySQL提供的单行注释语句可以是使用(B)开始的一行内容。
A,/* B,# C,{ D./
49、在MySQL中会话变量前的字符为(D)。
A,* B,# C,@@ D,@
50、若要计算表中数据的平均值,可以使用(B)
A,sqrt B,avg C,square D,count
51、(C)语句用于执行预处理语句。
A.prepare B.deallocate C.execute D.using
52、存储过程是在MySQL服务器中定义并(B)的SQL语句集合。
A,保存 B.执行 C.解释 D.编写
53、下面有关存储过程的叙述错误的是(D)
A.MySQL允许在存储过程创建时引用一个不存在的对象
B.存储过程可以带多个输入参数,也可以带多个输出参数
C.使用存储过程可以减少网络流量
D.在一个存储过程中不可以调用其他存储过程
54、MySQL所支持的触发器不包括(C)
A.insert触发器 B.delete触发器 C.check触发器 D.update触发器
55、下面有关触发器的叙述错误的是(B)
A.触发器是一个特殊的存储过程。 B.触发器不可以引用所在数据库以外的对象
C.在一个表上可以定义多个触发器 D.触发器在check约束之前执行
56、MySQL为每个触发器创建了两个临时表(D)
A.max和min B.avg和sum C.int和char D.old和new
57、通过以下(A)语句临时关闭事件e_test。
A.alterevente_testdisable B.alterevente_testdrop
C.alterevente_testenable D.alterevente_testdelete
58、下列(C)语句用来定义游标。
A.create B.declare C.declare…cursorfor… D.show
59、下列说法中错误的是(B)
A.常用触发器有insert.update.delete三种
B.对于同一张数据表,可以同时有两个beforeupdate触发器
C.new临时表在insert触发器中用来访问被插人的行
D.old临时表中的值只读,不能被更新
60、储程序中的选择语句有(A)
A.if B.while C.select D.switch
61、存储程序中不能使用的循环语句是(D)
A.repeat B.while C.loop D.for
62、MySQL的事务不具有的特征是(D)
A.原子性 B.隔离性 C.一致性 D.共享性
63、MySQL中常见的锁类型不包括(C)
A.共享 B.意向 C.架构 D.排他
64、事务的隔离级别不包括(C)
A.readuncommitted B.readcommitted
C.repeatableread D.repeatableonly
65、死锁发生的原因是(A)
A.并发控制 B.服务器故障 C.数据错误 D.操作失误
66、MySQL中发生死锁需要(B)
A.用户处理 B.系统自动处理 C.修改数据源 D.取消事务
二、简答题
1、MySQL支持的数据类型主要有哪几类?17属于什么类型?‘17’属于什么类型?
答:(1)数字类型(整数类型、浮点数类型、定点数类型)、字符串类型、日期和时间类型、二进制类型。(2)数字类型(3)字符串类型
- 简述在创建表结构时,常用哪些数据类型?其主要功能是什么?
答:(1)字符串类型:在数据库中存储字符串的数据类型。(2)数字类型(3)日期和时间类型:为了方便在数据库中存储日期和时间(4)二进制类型:在数据库中存储二进制数据类型。
- MySQL支持的数据完整性有哪几类?各有什么作用?
答:(1)非空约束:在数据表定义过程中,每个字段都要有一个是否null值的选择,这就是对数据表中将来的数据提出的约束条件。(2)主键约束:可以帮助MySQL以最快的速度查找到表中的指定信息。(3)外键约束:建立子表与父表的关联关系,保证子表与父表关联的数据一致性。(4)检查约束:针对数据表的列进行限制数值范围的约束(5)唯一性约束:所以记录中该字段的值不能重复出现。
- 简述创建索引的必要性。(优点)
答:(1)加速数据检索:索引能够以一列或列值为基础实现快速查找数据行。(2)优化查询:查询优化器是依赖与索引起作用的,索引能够加速连接排序和分组等操作。(3)强制实行的唯一性:通过给列创建唯一索引,可以保证表中的数据不重复。(仅参考)
- MySQL中普通索引、主键索引和唯一性索引的区别是什么?
答:(1)普通索引(index)。索引的关键字是index。普通索引是MySQL中基本索引类型,允许在定义索引的列中插入重复值和空值。(2)主键索引(primary key)。主键索引是一种特殊的唯一索引,不允许有空值。一般在创建表的时候同时创建主键索引,也可通过修改表的方式增加主键,但一个表只能拥有一个主键索引。(3)唯一性索引(unique)。Unique索引列的值必须是唯一,允许有空值。如果是组合索引,则列值的组合必须唯一,在一个表上可以创建多个唯一性索引。(仅参考)
- 简述创建视图的必要性。
答:(1)简化数据查询和处理。视图可以为用户集中多个表中的数据,简化用户对数据的查询和处理。(2)屏蔽数据库的复杂性。数据库表的更改不影响用户对数据库的使用,用户也不必了解复杂的数据库中的表结构。例如那些定义了若干张表连接的视图,就将表与表之间的连接操作对用户隐藏起来了。(3)安全性:如果想要使用户只能查询或修改用户有权限访问的数据,也可以只授予用户访问视图,而不授予访问表的权限,这样就提高了数据库的安全性。