黄老师 发表于 2014-12-12 09:42:31

《MySQL数据库》课程期末复习资料

《MySQL数据库》课程期末复习资料 《MySQL数据库》课程讲稿章节目录:第一章、数据库设计概率01数据库技术概述02关系数据库概述03数据库系统结构04数据库设计概述.05 E-R图06关系数据库设计07评价数据库表设计第二章、MySQL基础知识01 MySQL概述02字符集以及字符序设置03 MySQL数据库管理04 MySQL存储引擎05 MySQL表管理06系统变量07 MySQL数据库备份和恢复第三章、MySQL表结构的管理01非数值数据类型02数值数据类型03创建表04修改表结构05索引第四章、表记录的更新操作01表记录的插入02表记录的修改与删除第五章、表记录的检索01 select语句概述02使用where子句过滤结果集03多表连接04结果集排序、汇总与分组05子查询06使用正则表达式模糊查询07全文检索概述08全文检索方式与复杂应用第六章、MySQL编程基础01常量02用户自定义变量03运算符与表达式04定义函数05条件控制语句06循环语句07数学函数08字符串函数09数据类型转换函数与条件控制函数10日期和时间函数11系统信息函数和其他函数第七章、视图与触发器01视图02触发器概述03使用触发器04临时表与派生表第八章、存储过程与游标01存储过程创建与调用02存储过程应用03存储过程查看04错误触发条件和错误处理05游标06预处理SQL语句第九章、事务机制和锁机制01事务机制的必要性02回滚与提交03事务04事务应用05锁机制概述06表级锁与行级锁07意向锁08事务的ACID特性第十章、网上选课系统的开发01系统分析02系统设计 一、客观部分:(单项选择、多项选择、判断)(一)、单项选择1.在数据库设计中,将E-R图转换成关系数据模型的过程属于(C)A.需求分析阶段B.概念设计阶段C.逻辑设计阶段D.物理设计阶段2.设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号,课号,成绩),则表SC的关键字(键或码)为(C)A.课号,成绩B.学号,成绩C.学号,课号D.学号,姓名,成绩3.数据库管理系统提供的数据控制功能包括(D)A.数据的完整性B.恢复和并发控制C.数据的安全性D.以上所有各项4.数据库系统的三级模式结构是(A)A.模式,外模式,内模式B.外模式,子模式,内模式C.模式,逻辑模式,物理模式D.逻辑模式,物理模式,子模式5.数据库系统三级模式之间的两级映像指的是(B)A.外模式/模式映象、外模式/内模式映象B.外模式/模式映象、模式/内模式映象C.外模式/内模式映象、模式/内模式映象D.子模式/模式映象、子模式/内模式映象6.下列关于数据的叙述中,错误的是(A)A.数据的种类分为文字、图形和图像三类B.数字只是最简单的一种数据C.数据是描述事物的符号记录D.数据是数据库中存储的基本对象7.设有部门和职工两个实体,每个职工只能属于一个部门,一个部门可以有多名职工,则部门与职工实体之间的联系类型是(A)A.1:nB.0.0423611111111111C.m:nD.0:m8.一间宿舍可住多个学生,则实体宿舍和学生之间的联系是(B)A.一对一B.一对多C.多对一D.多对多9.在数据管理技术发展的三个阶段中,数据共享最好的是(C)A.人工管理阶段B.文件系统阶段C.数据库系统阶段D.三个阶段相同10.假设有借书信息表,结构为:借书信息(借书证号,借书人,住址,联系电话,图书号,书名,借书日期),如果每个借书人一本书只能借一次,则该表的主键是(A)A.借书证号,图书号B.借书证号C.借书证号,借书人D.借书证号,图书号,借书日期11.列关于数据库的叙述中,错误的是(A)A.数据库中只保存数据B.数据库中的数据具有较高的数据独立性C.数据库按照一定的数据模型组织数据D.数据库是大量有组织、可共享数据的集合12.DBS的中文含义是(A)A.数据库系统B.数据库管理员C.数据库管理系统D.数据定义语言13.关于E-R图,以下描述中正确的是(C)A.实体可以包含多个属性,但联系不能包含自己的属性B.联系仅存在于两个实体之间,即只有二元联系C.两个实体之间的联系可分为1:1、1:N、M:N三种D.通常使用E-R图建立数据库的物理模型14.下列关于数据库的叙述中,不准确的是(A)A.数据库中存放的对象是数据表B.数据库是存放数据的仓库C.数据库是长期存储在计算机内的、有组织的数据集合D.数据库中存放的对象可为用户共享15.下列选项中与DBMS无关的是 ① 概念模型 ; ② 逻辑模型 ; ③ 物理模型(A)A.①B.①③C.①②③D.③16.与文件系统阶段相比,关系数据库技术的数据管理方式具有许多特点,但不包括(A)A.支持面向对象的数据模型B.具有较高的数据和程序独立性C.数据结构化D.数据冗余小,实现了数据共享17.在E-R图中,用来表示实体联系的图形是(C)A.椭圆形B.矩形C.菱形D.三角形18.按照数据库规范化设计方法可将数据库设计分为六个阶段,下列不属于数据库设计阶段的是(D)A.概念结构设计B.逻辑结构设计C.需求分析D.功能模块设计19.在关系模型中,下列规范条件对表的约束要求最严格的是(A)A.BCNFB.1NFC.2NFD.3NF20.设有商品库存表,规定表中的库存量值必须大于等于0。根据这个规定应建立(A)A.用户定义完整性约束B.实体完整性约束C.参照完整性约束D.缺省值约束21.关系模型中,域的含义是(A)A.属性的取值范围B.元组C.属性D.属性值22.一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员与实体计算机之间的联系是(C)A.一对一B.一对多C.多对多D.多对一23.下列关于数据库系统三级模式结构的描述中,正确的是(B)A.一个数据库可以有多个模式B.一个数据库可以有多个外模式C.一个数据库可以有多个内模D.一个数据库可以有多个模式和外模式24.根据关系模式的完整性规则,以下关于主键的叙述中正确的是(C)A.主键不能包含两个字段B.主键不能作为另一个关系的外键C.主键不允许取空值D.主键可以取重复值25.在数据库系统的三级模式结构中,一个数据库只能有一个(B)A.模式和外模式B.模式和内模式C.子模式D.外模式26.以下关于数据库概念模型的叙述中,错误的是(A)A.数据库概念模型与所采用的数据库管理系统相关B.数据库概念模型与具体的计算机无关C.数据库概念模型的表示方法是E-R图D.概念模型是对信息世界的建模27.下列选项中,属于1:n联系的两个实体集是(A)A.所在部门与职工B.图书与作者C.运动项目与参赛运动员D.人与身份证28.数据库系统的三级模式不包括(D)A.概念模式B.内模式C.外模式D.数据模式29.下列关于数据的描述中,错误的是(C)A.数据是描述事物的符号记录B.数据和它的语义是不可分的C.数据指的就是数字D.数据是数据库中存储的基本对象30.数据库系统按不同层次可采用不同的数据模型,三层结构中包括物理层、逻辑层和(D)A.系统层B.服务层C.表示层D.概念层31.下列关于数据库系统特点的叙述中,错误的是(A)A.非结构化数据存储B.数据共享性好C.数据独立性高D.数据由数据库管理系统统一管理控制32.在讨论关系模型时,与"属性"同义的术语是(B)A.元组B.列C.表D.关系33.在下列模式中,能够给出数据库物理存储结构与物理存取方法是(B)A.外模式B.内模式C.概念模式D.逻辑模式34.在满足实体完整性约束的条件下(A)A.一个关系中应该有一个或多个候选关键字B.一个关系中只能有一个候选关键字C.一个关系中必须有多个候选关键字D.一个关系中可以没有候选关键字35.设有E-R图,含有A、B两个实体,A、B之间联系的类型是m:n,则将该E-R图转换为关系模式时,关系模式的数量是(A)A.3B.2C.1D.436.数据库系统按不同层次可采用不同的数据模型,一般可分为三层:物理层、概念层和(D)A.系统层B.服务层C.表示层D.逻辑层37.在数据库系统的三级模式结构中,面向某个或某几个用户的数据视图是(A)A.外模式B.模式C.内模式D.概念模式38.一个教师可讲授多门课程,一门课程可由多个教师讲授。则实体教师和课程间的联系是(D)A.1∶1联系B.1∶m联系C.m∶1联系D.m∶n联系39.模式/内模式映像保证数据库系统中的数据能够具有较高的(B)A.逻辑独立性B.物理独立性C.共享性D.结构化40.常见的数据库系统运行与应用结构包括(A)A.C/S和B/SB.B2B和B2CC.C/S和P2PD.B/S41.数据库、数据库管理系统和数据库系统三者之间的关系是(B)A.数据库包括数据库管理系统和数据库系统B.数据库系统包括数据库和数据库管理系统C.数据库管理系统包括数据库和数据库系统D.不能相互包括42.定义数据库全局逻辑结构与存储结构之间对应关系的是(A)A.模式/内模式映象B.外模式/内模式映象C.外模式/模式映象D.以上都不正确43.下列不属于数据库管理系统主要功能的是(A)A.数据计算功能B.数据定义功能C.数据操作功能D.数据库的维护功能44.数据独立性是指(A)A.物理独立性和逻辑独立性B.应用独立性和数据独立性C.用户独立性和应用独立性D.逻辑独立性和用户独立性45.MySQL中用来创建数据库对象的命令是(A)A.CREATEB.ALTERC.DROPD.GRANT46.在MySQL中,指定一个已存在的数据库作为当前工作数据库的命令是(A)A.USEB.USINGC.CREATED.SELECT47.在关系数据库中,用来表示实体间联系的是(B)A.属性B.二维表C.网状结构D.树状结构48.公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员。则实体部门和职员间的联系是(C)A.1:1联系B.m:1联系C.1:m联系D.m:n联系49.在数据库系统的三级模式结构中,一个数据库可以有多个(B)A.模式B.外模式C.内模式D.以上皆正确50.数据库的英文缩写是(A)A.DBB.DBSC.DBMSD.DBA51.实体型与实体集之间的关系是(A)A.型与值B.整体与部分C.两者含义相同D.两者无关52.在数据库的概念结构设计过程中,最常用的是(A)A.实体-联系模型图(E-R模型图)B.UML图C.程序流程图D.数据流图53.在MySQL中,使用关键字AUTO_INCREMENT设置自增属性时,要求该属性列的数据类型是(A)A.INTB.DATETIMEC.VARCHARD.DOUBLE54.以下关于PRIMARY KEY和UNIQUE的描述中,错误的是(A)A.UNIQUE约束只能定义在表的单个列上B.一个表上可以定义多个UNIQUE,只能定义一个PRIMARY KEYC.在空值列上允许定义UNIQUE,不能定义PRIMARY KEYD.PRIMARY KEY和UNIQUE都可以约束属性值的唯一性55.下列关于用户及权限的叙述中,错误的是(A)A.删除用户时,系统同时删除该用户创建的表B.root用户拥有操作和管理MySQL的所有权限C.系统允许给用户授予与root相同的权限D.新建用户必须经授权才能访问数据库56.把对Student表和Course表的全部操作权授予用户User1和User2的语句是(A)A.GRANT AllON Student, Course TO User1, User2;B. GRANTStudent, Course ON All TO User1, User2;C. GRANT AllTO Student, Course ON User1, User2;D. GRANT AllTO User1, User2 ON Student, Course;57.下列工具中,非图形化用户界面的MySQL管理工具是(A)A.mysqlB.phpAdminC.NavicatD.MySQLWorkbench62.设有表达式:CHECK(score>=0 AND score<=100),关于该表达式,下列叙述中错误的是(A)A.CHECK是能够单独执行的SQL语句B.该表达式定义了对字段score 的约束C.score的取值范围为0-100(包含0和100)D.以上都是错误的63.以下不能开启事件调度器的语句是(A)A.SELECTEVENT_SCHEDULER;B.SET GLOBALEVENT_SCHEDULER=1;C.SET GLOBALEVENT_SCHEDULER=TRUED.SET GLOBALEVENT_SCHEDULER=ON64.用户LISA在MySQL中建立了一个读者借阅图书数据库,在该数据库中创建了读者表、图书表和借阅表,并为该数据库添加了两个用户U1和U2,给U1授予对所有数据表的查询权限,给U2授予对所有数据表的插入权限,下列用户中不能使用CREATE USER创建用户的是(C)A.rootB.LISAC.U1D.U265.修改用户登录口令的命令是(A)A.SETPASSWORDB.UPDATEPASSWORDC.CHANGEPASSWORDD.MODIFYPASSWORD66.常用的MySQL图形化管理工具不包括(D)A.phpMyAdminB.NavicatC.MySQLWorkbenchD.mysqldump67.以下关于二进制日志文件的叙述中,错误的是(A)A.使用二进制日志文件能够监视用户对数据库的所有操作B.二进制日志文件记录所有对数据库的更新操作C.启用二进制日志文件,会使系统性能有所降低D.启用二进制日志文件,会浪费一定的存储空间68.下列备份方式中不能同时备份表结构和数据的是(A)A.使用SELECT INTO…OUTFILE语句B.使用mysqldump程序C.使用图形界面工具phpMyAdminD.使用直接复制69.以下所列出的工作中,不属于数据库运行维护的工作是(A)A.系统实现B.备份数据库C.性能检测D.安全性保护70.MySQL中,修改用户口令的语句是(A)A.SETPASSWORDB.CHANGEPASSWORDC.UPDATEPASSWORDD.RENAME USER71.设有如下语句: CREATE USER newuser;执行该语句后,如下叙述中正确的是(A)A.未授权之前,newuser没有访问数据库的权限B.语句有错,没有指定用户口令C.语句有错,没有指定主机名D.以上语句都不正确72.在MySQL中,使用mysqldump并以root用户(密码"123")备份数据库mysql1和mysql2,以下正确的命令是(A)A.mysqldump-u root -p123 --databases mysql1 mysql2 > c:\backup\data.sqlB.mysqldump-u root -p 123 --databases mysql1 mysql2 > c:\backup\data.sqlC.mysqldump-u root -p123 --databases mysql1 mysql2 < c:\backup\data.sqlD.mysqldump-u root -p123 --database mysql1 mysql2 < c:\backup\data.sql"73.下列关于MySQL数据库的叙述中,错误的是(A)A.执行ATLER DATABASE语句更改参数时,不影响数据库中现有对象B.执行CREATE DATABASE语句后,创建了一个数据库对象的容器C.执行DROP DATABASE语句后,数据库中的对象同时被删除D.CREATEDATABASE与CREATE SCHEMA作用相同74.在GRANT授权语句中,WITH GRANT OPTION的含义是(D)A.用户权限在服务器重启之后,将自动撤销B.该用户权限仅限于所指定的用户C.用户将获得指定数据库对象上的所有权限D.允许该用户将此权限转移授予其他用户75.在MySQL中,MyISAM格式的数据表所对应的存储文件不包括(D)A..frm文件B..MYD文件C..MYI文件D..ISD文件76.设有学生表Student(Sno,Sname,Sdept),若要收回用户User1修改学生学号Sno的权限,正确的语句是(A)A.REVOKEUPDATE(Sno) ON Student FROM User1;B.REVOKEUPDATE ON Student FROM User1;C.REVOKEUPDATE(Sno) ON User1 FROM Student;D.REVOKEUPDATE Student(Sno) FROM User1;77.在GRANT ALL ON *.* TO…授权语句中,ALL和*.*的含义分别是(A)A.所有权限、所有数据库表B.所有数据库表、所有权限C.所有用户、所有权限D.所有权限、所有用户78.在DROP USER语句的使用中,若没有明确指定账户的主机名,则该账户的主机名默认为是(A)A.%B.localhostC.rootD.super79.在MySQL中,可用于创建一个新数据库的SQL语句为(A)A.CREATEDATABASB.CREATETABLEC.CREATEDATABASESD.CREATE DB80.按功能对SQL语言分类,对数据库各种对象进行创建、删除、修改的操作属于(A)A.DDLB.DMLC.DCLD.DLL81.下列关于ALTER DATABASE命令的叙述中,错误的是(A)A.使用ALTER DATABASE命令时,数据库的名称不能省略B.使用ALTER DATABASE命令时,用户必须具有对数据库进行修改的权限C.ALTERDATABASE命令可用于更改数据库的全局特性D.ALTERDATABASE命令可使用ALTER SCHEMA命令替换82.SQL基本的使用方式(环境)有两种,分别是(A)A.交互式和嵌入式B.过程式和非过程式C.交互式和过程式D.基本方式和集合方式83.MySQL中,下列关于授权的描述中,正确的是(D)A.只能对数据表和存储过程授权B.只能对数据表和视图授权C.可以对数据项、数据表、存储过程和存储函数授权D.可以对属性列、数据表、视图、存储过程和存储函数授权84.phpAdmin作为MySQL的一种图形化管理工具,其工作模式为(B)A.C/S模式B.B/S模式C.命令行方式D.脚本方式85.在使用MySQL时,要实时记录数据库中所有修改、插入和删除操作,需要启用(A)A.二进制日志B.查询日志C.错误日志D.恢复日志86.在不关闭数据库服务器的情况下,对MySQL数据库进行备份与恢复。以下方法中错误的是(A)A.直接复制所有数据文件B.使用SELECT INTO…OUTFILE和LOAD DATA…FILE语句进行备份与恢复C.使用mysqldump命令进行备份与恢复D.以上方法都错误87.MySQL命令行客户端的提示符是(A)A.mysql>B.c:\>C.sql>D.$88.在SQL语言按功能的分类中,不包括(D)A.DDLB.DMLC.DCLD.DLL89.当使用CREATE DATABASE命令在MySQL中创建数据库时,为避免因数据库同名而出现的错误,通常可在该命令中加入(A)A.IF NOTEXISTSB.NOT EXISTC.NOT EXISTD.NOT EXISTIN90.下列关于MySQL的叙述中,正确的是(A)A.MySQL能够运行于多种操作系统平台B.MySQL的编程语言是PHPC.MySQL只适用于中小型应用系统D.MySQL具有数据库检索和界面设计的功能91.用户刚创建后,只能登录服务器,而无法执行任何数据库操作的原因是(C)A.用户还需要修改密码B.用户尚未激活C.用户还没有任何数据库对象的操作权限D.以上皆有可能92.在安装和配置MySQL实例的向导中,选择决策支持型(OLAP)实例或者联机事务处理(OLTP)型实例的主要区别在于(A)A.并发连接数不同 B.连接端口不同C.默认字符集不同D.服务名不同93.MySQL中,删除用户的命令是(A)A.DROP USERB.REVOKE USERC.DELETE USED.REMOVE USER94.在安装和配置MySQL实例的向导中,可选的MySQL服务器类型包括(A)A.DeveloperMachine(开发者机器)、Server Machine(服务器)、Dedicated MySQL Server Machine(专用MySQL服务器)B.DeveloperMachine(开发者机器)、Dedicated MySQL Server Machine(专用MySQL服务器)C.ServerMachine(服务器)、Dedicated MySQL Server Machine(专用MySQL服务器)D.DeveloperMachine(开发者机器)、Server Machine(服务器)95.当MySQL服务器正确安装配置完毕之后,会在MySQL的主目录下生成一个MySQL启动时自动加载的选项文件,该选项文件是(A)A.my.iniB.mysql.txtC.sql.iniD.mysql.cfg96.重新命名某个数据表的命令是(B)A.UPDATEB.RENAMETABLEC.DROP TABLED.REMOVE97.MySQL成功安装后,在系统中默认建立的用户个数是(B)A.0B.1C.2D.398.恢复MySQL数据库可使用的命令是(C)A.mysqldumpB.mysqladminC.mysqlD.mysqld99.对于用直接复制方式备份数据库,如下叙述中正确的是(A)A.复制数据库时,该数据库不能被使用B.这种方式备份的数据库不能直接复制到另一个服务器并使用C.必须关闭MySQL服务器,才能进行复制D.这种方式只能复制数据,不能复制表结构100.数据库系统可能发生各种各样的故障,如下可能破坏数据库中数据的故障是(A)A.磁盘损坏B.操作系统故障C.系统断电D.CPU发生故障101.MySQL客户端程序mysqldump的作用是(A)A.备份数据库B.创建数据库C.启动MySQL服务器D.删除数据库102.设当前用户正在操作数据库db1,现该用户要求跳转到另一个数据库db2,下列可使用的SQL语句是(A)A.USE db2B.JUMP db2C.GO db2;D.FROM db1 TOdb2;103.撤销用户的权限应使用的语句是(C)A.DROPB.ALTERC.REVOKED.GRANT104.在MySQL中,用户账号信息存储在(C)A.mysql.hostB.mysql.accountC.mysql.userD.information_schema.user105.给定语句mysql -u root -p test<test.sql,该语句(C)A.将test数据库中的数据备份到文件B.将test数据库中的表结构备份到文件C.使用备份文件恢复test数据库或表D.存在错误,无法执行106.创建MySQL账户的方式包括(D)A.使用GRANT语句B.使用CREATE USER语句C.直接操作MySQL授权表D.以上方法皆可以107.使用MySQL时,可以在MySQL客户端中执行SQL语句,但下面无法用于执行SQL语句的客户端工具是(C)A.mysql命令行B.phpMyAdminC.mysqldD.Navicat工具108.在MySQL数据库中,以下不会受字符集设置影响的数据类型有(B)A.CHARB.INTC.VARCHARD.TEXT109.在MySQL的实用工具中,用于对数据库进行备份的程序是(B)A.mysqladminB.mysqldumpC.mysqlcheckD.mysqlimport110.使用 SELECT * INTO OUTFILE 语句备份数据库时,导出的是(A)A.数据表中的数据B.数据表的结构C.数据表的结构和数据D.整个数据库111.MySQL服务器所使用的配置文件是(A)A.my.iniB.my-small.iniC.my-medium.iniD.my-large.ini112.在使用SHOW GRANTS命令显示用户权限时结果为USAGE,该用户拥有的权限为(C)A.当前数据库上的使用权限B.所有数据库对象上的所有权限C.无权限D.所有数据库对象上的使用权限113.指定一个数据库为当前数据库的SQL语句语法格式是(B)A.CREATEDATABASE db_name;B.USEdb_name;C.SHOWDATABASES; D.DROPDATABASE db_name;114.查看当前正在使用的工作数据库名称的语句是(C)A.SHOWDATABASES; B.SHOW TABLESC.SELECTDATABASE();D.SHOWSCHEMAS;115.在MySQL中,查看所有数据库列表的语句是(A)A.SHOWDATABASES;B.SHOWSCHEMA;C.SELECTDATABASE();D.SHOWDATABASE;116.删除数据表student的语句是(A)A.DROP TABLEstudent;B.REMOVETABLE student;C.UPDATETABLE student; D.DELETETABLE student;117.使用GRANT授权时,下列不能授予到操作权限的命令是(A)A.DELETEB.SELECTC.INSERTD.UPDATE118.查看MySQL版本语句是(A)A.mysql - -versionB.mysql - -VERSIONC.mysql - -helpD.mysql - - v119.设置MySQL提示符的命令是(B)A.tipB.promptC.popupD.message120.导入sql脚本文件的命令是(A)A.sourceB.scriptC.fileD.sql121.查看系统中可用的字符集命令是(A)A.showcharacter setB.showcollationC.showcharacterD.show set122.SQL中,不能创建索引的语句是(D)A.CREATETABLEB.ALTER TABLEC.CREATEINDEXD.SHOW INDEX123.要将员工表tb_emp中的年龄字段age更名为出生年份birth,下列语句中正确的是(A)A.ALTER TABLEtb_emp CHANGE COLUMN age birth YEAR(4);B. ALTERTABLE tb_emp ADD COLUMN birth YEAR(4);C.ALTER TABLEtb_emp ALTER COLUMN age birth YEAR(4);D.ALTER TABLEtb_emp MODIFY COLUMN age birth YEAR(4)124.在MySQL中,下列有关CHAR和VARCHAR的比较中,不正确的是(C)A.CHAR是固定长度的字符类型,VARCHAR则是可变长度的字符类型B.由于CHAR固定长度,所以在处理速度上要比VARCHAR快,但是会占更多存储空间C.CHAR和VARCHAR的最大长度都是255D.使用CHAR字符类型时,将自动删除末尾的空格125.执行语句"CREATE INDEX in_dept ON tb_dept(telephone(6),DESC)"后,在tb_dept表的telephone属性上(C)A.根据telephone属性前六个字符采用BTREE索引类型创建索引B.根据telephone属性前六个字符采用HASH索引类型创建索引C.根据前六条记录采用BTREE索引类型创建索引D.根据前六条记录采用HASH索引类型创建索引126.SQL中修改表结构的语句是(C)A.MODIFYTABLEB.MODIFY STRUCTUREC.ALTER TABLED.ALTERSTRUCTURE127.下列关于AUTO_INCREMENT的描述中,不正确的是(D)A.一个表只能有一个AUTO_INCREMENT属性B.该属性必须定义为主键的一部分C.在默认情况下,AUTO_INCREMENT 的开始值是 1,每条新记录递增 1D.只有INT类型能够定义为AUTO_INCREMENT128.下列不能用于删除索引的命令是(A)A.ALTER INDEXB.ALTER TABLEC.DROP INDEXD.DROP TABLE129.在CREATE TABLE语句中,用来指定外键的关键字是(C)A.CONSTRAINTB.PRIMARY KEYC.FOREIGN KEYD.CHECK130.在MySQL数据库中,可以在服务器、数据库、表等级别上指定缺省字符集,而这些字符集的设定将作用于(B)A.所有字段B.CHAR、VARCHAR、TEXT等字符类型的字段C.所有数据库连接D.数值型字段131.向Student表增加入学时间"EDate"列,其数据类型为日期型,正确的SQL命令是(A)A.ALTER TABLEStudent Add EDate Date;B.Add EDateDate ALTER TABLE Student;C.Add EDateDate TO TABLE Student;D.ALTER TABLEStudent Add Date EDate;132.下列不能使用ALTER命令进行修改的数据库对象是(A)A.触发器B.事件C.存储过程D.存储函数133.定义学生表时,若规定年龄字段取值不得超过30岁,应该使用的约束是(D)A.关系完整性约束B.实体完整性约束C.参照完整性约束D.用户定义完整性约束134.ENUM类型的字段level定义为(LOW、MIDDLE、HIGH),ORDER BY level asc的顺序是(B)A.HIGH、LOW、MIDDLEB.LOW、MIDDLE、HIGHC.MIDDLE、LOW、HIGHD.HIGH、MIDDLE、LOW135.VARCHAR类型字段保存最大的字符数是(C)A.255B.1025C.65533D.65535136.关于DATETIME与TIMESTAMP两种数据类型的描述,错误的是(B)A.两者值的范围不一样。B.两者值的范围一样。C.两者占用空间不一样。D.TIMESTAMP可以自动记录当前日期时间。137.在非严格模式下保存250到TINYINT类型字段时实际保存值是(C)A.250B.0C.127D.128138.在使用INSERT语句插入数据时,正确的使用形式不包括(C)A.INSERT…VALUES语句B.INSERT…SELECT语句C.INSERT…WHERE语句D.INSERT…SET语句139.在MySQL中,要删除某个数据表中所有用户数据,不可以使用的命令是(C)A.DELETEB.TRUNCATEC.DROPD.以上方式皆不可用140.设有客户表customers(id, name, tel),各字段的含义分别是客户编号、客户姓名和客户联系电话,其中id字段设置为AUTO_INCREMENT属性,且当前表中id字段最大值为22306。若此刻执行语句"INSERT INTO customers VALUES(22500,'李明',87556655);"之后,接着执行语句"INSERT INTO customers VALUES(0,'张良',87523012);",则此时该表中"张良"的客户编号是(A)A.22501B.22500C.0D.22308141.在使用INSERT INTO插入记录时,对于AUTO_INCREMENT列,若需要使其值自动增长,下面填充方式中错误的是(D)A.填充NULL值B.不显式地填充值C.填充数字0D.填充数字1142.如果DELETE语句中没有使用WHERE子句,则下列叙述中正确的是(B)A.删除指定数据表中的最后一条记录B.删除指定数据表中的全部记录C.不删除任何记录D.删除指定数据表中的第一条记录143.下列关于DROP、TRUNCATE和DELETE命令的描述中,正确的是(D)A.三者都能删除数据表的结构B.三者都只删除数据表中的数据C.三者都只删除数据表的结构D.三者都能删除数据表中的数据144.使用UPDATE语句同时修改多个表,会同时修改表关联中满足限定条件的每个表,在这种修改中可以使用的子句是(A)A.WHEREB.GROUP BYC.ORDER BYD.LIMIT145.修改表中数据的命令是(A)A.UPDATEB.ALTER TABLEC.REPAIRTABLED.CHECK TABLE146.DELETE语句中不能使用的子句是(A)A.GROUP BYB.WHEREC.ORDER BYD.LIMIT147.学生表student包含sname、sex、age三个属性列,其中age 的默认值是20,执行SQL 语句INSERT INTO student(sex, sname, age) VALUES('M','Lili',);的结果是(A)A.执行成功,sname, sex, age的值分别是Lili, M, 20##执行成功,sname, sex, age的值分别是M, Lili, NULL##执行成功,sname, sex, age的值分别是M, Lili, 20##SQL语句不正确,执行失败B.C.D.148.使用SQL语句查询学生信息表tbl_student中的所有数据,并按学生学号stu_id升序排列,正确的语句是(A)A.SELECT *FROM tbl_student ORDER BY stu_id ASC;B.SELECT *FROM tbl_student ORDER BY stu_id DESC;C.SELECT *FROM tbl_student stu_id ORDER BY ASC;D.SELECT *FROM tbl_student stu_id ORDER BY DESC;149.对于SQL查询:SELECT * FROM tbl_name WHERE id=(SELECT id FROMtbl_name),假设该表中包含id字段,那么该语句正确执行的条件是(C)A.该表中必须有多条记录B.该表中必须只有一条记录C.该表中记录数必须小于等于一条D.以上说法都不对150.在SELECT语句中,指定需要查询的内容时,下列不可使用的是(A)A.百分号通配符B.列的别名C.聚合函数D.相应列参与计算的表达式151.要消除查询结果集中的重复值,可在SELECT语句中使用关键字(B)A.UNIONB.DISTINCTC.LIMITD.REMOVE152.查询一个表中总记录数的SQL语句语法格式是(A)A.SELECTCOUNT(*) FROM tbl_name; B.SELECTCOUNT FROM tbl_name;C.SELECT FROMCOUNT tbl_name;D.SELECT *FROM tbl_name;153.设有学生选课表score(sno,cname,grade),其中sno表示学生学号,cname表示课程名,grade表示成绩。以下能够统计每个学生选课数的语句是(A)A.SELECTCOUNT(*)FROM score GROUP BY sno ;B.SELECTCOUNT(*)FROM score GROUP BY cname ;C.SELECTSUM(*)FROM score GROUP BY cname ;D.SELECTSUM(*)FROM score GROUP BY sno ;154.设职工表tb_employee,包含字段eno(职工号)、ename(姓名)、age(年龄)、salary(工资)和dept(所在部门),要查询工资在4000-5000之间(包含4000、5000)的职工号和姓名,正确的WHERE条件表达式是(A)A.salaryBETWEEN 4000 AND 5000##salary <=4000 AND salary >=5000##4000 =< salary<=5000##salary IN B.C.D.155.假设有Student表,查询名字中第二个字为"丽"的所有学生姓名、学号的正确命令是(A)A.SELECTSname, Sno FROM Student WHERE Sname LIKE '_丽%';B. SELECTSname, Sno FROM Student WHERE Sname IS '_丽%';C. SELECT Sname,Sno FROM Student WHERE Sname LIKE '%丽_';D. SELECTSname, Sno FROM Student WHERE Sname LIKE '_丽_';156.MySQL中,子查询中可以使用运算符ANY,它表示的意思是(B)A.所有的值都满足条件B.至少一个值满足条件C.一个值都不用满足D.至多一个值满足条件157.把查询语句的各个子句按执行的先后顺序排列,正确的是(A)A.FROM→WHERE→GROUPBY→SELECT→ORDER BYB.SELECT→FROM→WHERE→GROUPBY→ORDER BYC.WHERE→FROM→SELECT→GROUPBY→ORDER BYD.FROM→WHERE→SELECT→ORDERBY→GROUP BY158.设有成绩表,包含学号、分数等字段。现有查询要求:查询有3门以上课程的成绩在90分以上的学生学号及90分以上课程数。以下SQL语句中正确的是(A)A.SELECT 学号, COUNT(*) FROM 成绩 WHERE 分数>90 GROUP BY 学号 HAVING COUNT(*)>3;B. SELECT 学号, COUNT(学号) FROM 成绩 WHERE 分数>90 AND COUNT(学号)>3;C. SELECT 学号, COUNT(*) FROM 成绩 GROUP BY 学号 HAVING COUNT(*)>3 AND 分数>90;D. SELECT 学号, COUNT(*) FROM 成绩 WHERE 分数>90 AND COUNT(*)>3 GROUP BY 学号;159.设有一个成绩表Student_JAVA(id,name,grade),现需要查询成绩grade倒数第二的同学信息(假设所有同学的成绩各不相同),正确的SQL语句应该是(A)A.SELECT *FROM Student_JAVA ORDER BY grade limit 1,1;B. SELECT *FROM Student_JAVA ORDER BY grade DESC limit 1,1;C. SELECT *FROM Student_JAVA ORDER limit 1,1;D. SELECT *FROM Student_JAVA ORDER BY grade DESC limit 0,1;160.统计表中所有记录个数的聚集函数是(A)A.COUNTB.SUMC.MAXD.AVG161.查找学生表student中姓名的第二个字为"t"的学生学号sno和姓名sname,下面SQL语句正确的是(B)A.SELECT sno,sname FROM student WHERE sname='_t%';B. SELECTsno, sname FROM student WHERE sname LIKE '_t%';C. SELECTsno, sname FROM student WHERE sname='%t_';D. SELECTsno, sname FROM student WHERE sname LIKE '%t_';162.语句"SELECT * FROM tb_emp ORDER BY age DESC LIMIT1,3"执行后返回的记录是(A)A.按age排序为2、3、4的三条记录 B.按age排序为1、2、3的三条记录C.age最大的记录D.age排序第二的记录163.在MySQL的SQL语句中,要实现类似分页功能的效果,可使用(A)A.LIMITB.ORDER BYC.WHERED.TRUNCATE164.MySQL所支持的字符串匹配中,下列通常使用的通配符包括(A)A.%B.*C.?D.$165.设有学生表student(sno,sname,sage, smajor),要从student表中检索sname字段值第2个字是"红"的所有学生信息。以下能够按照上述条件进行检索的WHERE表达式是(A)A.sname LIKE'_红%'B.sname LIKE'_红_'C.sname LIKE'%红%'D.sname LIKE'%红_'166.与查询语句"SELECT ename, dept FROM tb_employee WHEREdept LIKE '%Sa+_b%' ESCAPE '+';"中LIKE子句相匹配的字符串是(A)A.Sa_bJB.Sa+_bJC.SacbjD.Sa+cbj167.SQL 语言一次查询的结果是一个(A)A.表B.记录C.元组D.数据项168.SELECT *FROM city limit 5,10描述正确的是(C)A.获取第6条到第10条记录。B.获取第5条到第10条记录。C.获取第6条到第15条记录。D.获取第5条到第15条记录。169.GROUP_CONCAT()函数作用是(A)A.将每组的结果字符串连接起来B.将每组的结果累加C.统计每组的记录数D.统计每组的平均值170.不属于MySQL逻辑运算符的是(A)A.|B.!C.||D.&&171.下列关于空值的描述中,正确的是(C )A.空值等同于数值B.空值等同于空字符串C.空值表示无值D.任意两个空值均相同172.在MySQL中编写函数、存储过程时,合法的流程控制语句不包括(A)A.FOR(...;...;...)循环语句B.IF...ELSE(包括ELSEIF)条件语句C.WHILE...ENDWHILE循环语句D.CASE...WHEN...ELSE分支语句173.下列CASE语句中执行结果不为空的是(A)A.SELECT CASEWHEN 12>5 THEN 'true' ELSE 'false' END;B.SELECT CASEBINARY 'B' WHEN 'a' THEN 1 WHEN 'b' THEN 2 END;C.SELECT CASEWHEN -1>0 THEN 'true' END;D.SELECT CASE'one' WHEN 1 THEN 'one' WHEN 2 THEN 'two' END;174.查看存储函数fun具体内容的命令是(A)A.SHOW CREATEFUNCTION fun;B.DISPLAYCREATE FUNCTION fun;C.CREATEFUNCTION fun;D.SELECTFUNCTION fun;175.在SQL语句中,与表达式sno NOT IN("s1","s2")功能相同的表达式是(D)A.sno="s1"AND sno="s2"B.sno!="s1" OR sno!="s2"C.sno="s1" OR sno="s2"D.sno!="s1" AND sno!="s2"176.设有如下语句:DECLARE tmpVar TYPE CHAR(10) DEFAULT"MySQL"关于以上命令,下列叙述中错误的是(A)A.该语句声明了一个用户变量B. tmpVar的缺省值是"MySQL"C. tmpVar被声明为字符类型变量D. tmpVar的作用域是声明该变量的BEGIN…END语句块177.设smajor是student表中的一个字段,以下能够正确判断smajor字段是否为空值的表达式是(A)A.smajor ISNULLB.smajor =NULLC.smajor=0 D.smajor=''178.函数NOW()返回的结果是(C)A.系统的当前日期B.系统的当前时间C.系统的当前日期和时间D.系统的当前用户179.SQL语句中,判断字段sno是否为空值时,应该使用的表达式是(A)A.sno IS NULLB.sno =NULLC.sno NULL ORNOTD.以上方式皆可180.设有如下语句:SELECT SUBSTRING('student',4,3); 执行结果是(A)A.denB.stuC.entD.uden181.在存储过程体的WHILE语句中,要实现退出当前循环,且重新开始一个新的循环,通常可使用的语句是(A)A.ITERATE语句B.LEAVE语句C.JUMP语句D.GOTO语句182.在MySQL中,关键字AUTO_INCREMENT用于为列设置自增属性,能够设置该属性的数据类型是(C)A.字符串类型B.日期类型C.整型D.枚举类型183.对于日期"2013年10月21日",MySQL默认显示的格式是(A)A.'2013-10-21'B.'2013-21-10'C.'10-21-2013'D.'21-10-2013'184.SELECTSUBSTRING_INDEX(‘Welcome to China’, ‘to’,-1)的结果是(C)A.WelcomeB.toC.ChinaD.Welcome to185.在MySQL中创建视图时,WITH CHECK OPTION 子句的作用是(A)A.对于可更新视图,保证更新、插入或删除的行要满足视图定义中的谓词条件B.使用户能从多种角度看待同一数据C.防止通过视图插入或更新行D.去掉基本表的某些行和某些列186.SQL中,激活触发器的命令包括(C)A.CREATE、DROP、INSERTB.SELECT、CREATE、UPDATEC.INSERT、DELETE、UPDATED.CREATE、DELETE、UPDATE187.触发器内容的语句是(A)A.SHOWTRIGGERS;B.SELECT *FROM information_schema;C.SELECT *FROM TRIGGERS;D.SELECT *FROM TRIGGER;188.下列关于表和视图的叙述中错误的是(A)A.表和视图上都可以创建索引B.视图可以和表一起使用C.表和视图的数据都可以进行更新操作,但视图的更新受限D.表和视图都可以使用SQL语句进行查询189.设有一个成绩表Student_JAVA(id,name,grade),现需要编写一个触发器,监视对该表中数据的插入和更新,并判断学生的成绩grade,如果成绩超过100分,在触发器中强制将其修改为100(最高分),那么应该将触发器定义为(A)A.BEFORE触发器B.AFTER触发器C.AFTER触发器和BEFORE触发器都可以D.AFTER触发器和BEFORE触发器都不可以190.当触发器涉及对触发表自身的更新操作时,使用的触发器必须是(A)A.BEFOREUPDATEB.AFTERUPDATEC.UPDATEBEFORED.UPDATEBEFORE191.以下关于触发器的叙述中,正确的是(A)A.触发器由数据表上的特定事件所触发B.触发器可以由CREATE操作触发C.触发器可以带有参数D.触发器可以建立在视图上192.在MySQL中,以下关于触发器中AFTER和BEFORE的描述不正确的是(D)A.BEFORE在INSERT、UPDATE之前,可以对NEW进行修改B.AFTER不能对NEW进行修C.两者都不能修改OLD数据D.UPDATE触发时,只有在AFTER中才能访问到NEW,只有在BEFORE中才能访问到OLD193.下列关于触发器的描述中错误的是(A)A.REPLACE语句不能被DELETE触发器激活B.每个数据表最多支持6个触发器C.BEFOREINSERT触发器不仅能被INSERT语句激活,也能被LOAD DATA语句激活D.一个数据表不能同时定义两个BEFORE UPDATE触发器194.MySQL中的视图机制能够在一定程度上提高数据库系统的(A)A.安全性B.稳定性C.可靠性D.完整性195.在MySQL中,INSERT触发器操作数据时,可以使用的临时表是(A)A.NEWB.OLDC.NEW和OLDD.LAST196.在MySQL中,存储过程可以使用(D)A.局部变量B.用户变量C.系统变量D.以上皆可以使用197.在存储过程中,使用游标的一般流程是(C)A.打开-->读取-->关闭B.声明-->读取-->关闭C.声明-->打开-->读取-->关闭D.声明-->填充内容-->打开-->读取-->关闭198.下列关于存储过程的叙述中,正确的是(A)A.存储过程可以带有参数B.存储过程能够自动触发并执行C.存储过程中只能包含数据更新语句D.存储过程可以有返回值199.下列创建游标的语法格式中,正确的是(A)A.DECLAREcursor_name CURSOR FOR select_statementB.DECLARECURSOR cursor_name FOR select_statementC.CREATEcursor_name CURSOR FOR select_statementD.CREATECURSOR cursor_name FOR select_statement200.下列关于存储过程和存储函数的叙述中正确的是(A)A.存储过程和存储函数都可以直接调用,但调用方式不同B.存储过程可以带参数,存储函数不能带参数C.存储过程和存储函数中都可以包含RETURN语句D.存储过程中能使用游标,而存储函数中不能使用游标201.在MySQL中,不可以声明和使用游标的情况有(C)A.存储过程B.存储函数C.交互式SQL查询D.触发器202.存储过程与存储函数的区别之一是存储过程不能包含(A)A.RETURN语句B.局部变量C.SET语句D.游标203.在MySQL的命令行中调用存储过程sp和函数fn的方法分别是(A)A.CALLsp(),SELECT fn();##SELECT sp(), CALLfn();##CALL sp(),CALL fn();##SELECTsp(),SELECT fn();B.C.D.204.在使用游标时,实际完成数据读取任务的语句(A)A.FETCH...INTO...B.SELECTC.DECLARE...CURSORD.SET205.在存储过程的定义中,其参数的输入输出类型包括(B)A.IN、OUTB.IN、OUT、INOUTC.IND.OUT206.以下有关MySQL事件的叙述中,错误的是(A)A.事件是由操作系统调用的过程B.事件能够按设定的时间自动执行C.在事件中可以调用存储过程D.在事件中可以对数据表进行数据更新操作207.在MySQL中创建事件时,指定的执行时机包括(C)A.单次计划任务B.重复计划任务C.单次计划任务或重复计划任务D.按照优先级调度执行208.现要求删除MySQL数据库中已创建的事件,通常使用的语句是(A)A.DROP EVENTB.DROP EVENTSC.DELETEEVENTD.DELETEEVENTS209.在使用MySQL进行数据库程序设计时,若需要支持事务处理应用,其存储引擎应该是(A)A.InnoDBB.MyISAMC.MEMORYD.CSV210.在MySQL中,可支持事务、外键的常用数据库引擎是(D)A.MyISMB.MEMORYC.FEDERATEDD.InnoDB211.使用PHP进行MySQL编程时,不能读取结果集中记录的函数是(D)A.mysql_fetch_array()B.mysql_fetch_row()C.mysql_fetch_assoc()D.mysql_affected_rows()212.函数mysql_connect()和mysql_pconnect()都能建立与数据库服务器的连接,下列关于两者的描述正确的是(A)A.mysql_connect()建立非持久连接,可以使用mysql_close()关闭连接B.mysql_pconnect()建立非持久连接,可以使用mysql_close()关闭连接C.mysql_pconnect()建立持久连接,可以使用mysql_close()关闭连接D.mysql_connect()建立非持久连接,不可以使用mysql_close()关闭连接 (二)、多项选择1.在下列关于"关系"的描述中,正确的是(BCD)A.行的顺序是有意义的,其次序不可以任意交换B.列是同质的,即每一列中的分量是同一类型的数据,来自同一个域C.任意两个元组不能完全相同D.列的顺序无所谓,即列的次序可以任意交换2.下列属于数据库设计阶段的工作是(BCD)A.详细结构设计B.概念结构设计C.逻辑结构设计D.物理结构设计3.以下关于数据库设计的叙述中,正确的是(BCD)A.设计数据库就是编写数据库的程序B.数据库逻辑设计的结果不是唯一的C.数据库物理设计与具体的设备和数据库管理系统相关D.数据库设计时,要对关系模型进行优化4.下列有关MySQL完整性约束的叙述中,错误的是(BCD)A.实体完整性可由主键约束或候选键约束来实现B.对完整性约束只能进行添加操作C.使用ALTER TABLE语句删除完整性约束的同时,会自动删除表本身D.使用DROP TABLE语句删除一个表的同时,表中的完整性约束不会自动删除5.下列关于外键的叙述中,正确的是(ABC)A.外键是在一个或一组属性上定义的约束B.外键的取值可以为空C.外键是所参照关系的主键或唯一性索引的属性列D.外键是唯一标识元组的一个或一组属性6.使用键的好处是(ABC)A.降低查找时间B.强化每行的唯一标识C.主键不能包含NULLD.降低磁盘占用空间7.以下关于MySQL的叙述中,错误的是(BCD)A.MySQL是一种开放源码的软件B.MySQL只能运行在Linux平台上C.MySQL是桌面数据库管理系统D.MySQL是单用户数据库管理系统8.下列关于MySQL二进制日志的叙述中,正确的是(BCD)A.二进制日志包含了数据库中所有操作语句的执行时间信息B.二进制日志用于数据恢复C.MySQL默认是不开启二进制日志功能的D.启用二进制日志,系统的性能会有所降低9.下列选项中,能用于备份数据库的是(BCD)A.mysqladminB.phpMyAdimC.mysqldumpD.SELECT语句10.以下关于MySQL二进制日志文件的叙述中,错误的是(BCD)A.二进制日志文件用于数据库恢复B.二进制日志文件记录了对数据表的全部操作C.二进制日志功能默认是开启的D.启用二进制日志文件,对系统运行性能没有影响11.MySQL数据库产品包括(ABCD)A.MySQL企业服务器B.MySQL社区服务器C.MySQL嵌入数据库D.MySQL集群12.MySQL安装包括哪些主要部件(ABD)A.MySQL服务器B.MySQL客户端程序C.PL/SQLD.MySQL非客户端工具13.MySQL为哪些内容分配内存(ABCD)A.线程句柄B.MEMORY存储引擎创建的表C.客户端缓冲区D.全局缓冲区与高速缓存14.与MySQL服务器相互作用的通讯协议包括(ABCD)A.TCP/IPB.SocketC.共享内存D.命名管道15.SQL模式值TRADITIONAL是一个复合模式,包含哪些值(ABCD)A.STRICT_TRANS_TABLESB.STRICT_ALL_TABLESC.NO_ZERO_DATED.NO_ZERO_IN_DATE16.导致输入值无效原因是(ABCD)A.对于数据或时间列,值可能超出范围。B.对于字符串列,字符串可能太长。C.于非NULL列赋予NULL值。D.对于ENUM列赋予非合法的枚举值。17.数据库对象包括(ABCD)A.表B.视图C.存储过程D.触发器18.MySQL存储引擎类型有哪些(ABCD)A.MyISAMB.InnoDBC.MEMORYD.MERGE19.设置表的默认字符集关键字是(CD)A.DEFAULTCHARACTERB.DEFAULT SETC.DEFAULTCHARSETD.DEFAULTCHARACTER SET20.哪些连接语句的格式是正确的(ABC)A.mysql - -host=myhost.example.comB.mysql –hmyhost.example.comC.mysql–hmyhost.example.comD.mysql –Hmyhost.example.com21.关于在非严格模式下处理无效值,哪些是正确的(ABC)A.基于列定义的限制隐含值来执行类型转化。B.在可能的情况下调整无效的输入值为合法值,并产生警告信息。C.转换超出范围的值为范围内的值。D.拒绝无效值,产生错误。22.关于在严格模式下处理无效值,哪些是正确的(BCD)A.允许超出范围的值B.拒绝超出范围的值。C.拒绝不正确数据类型的值。D.拒绝没有缺省值的非空列。23.在使用ALTER TABLE修改表结构时,关于CHANGE和MODIFY两子句的描述中,正确的是(ABC)A.CHANGE后面需要写两次列名,而MODIFY后面只写一次B.两种方式都可用于修改某个列的数据类型C.都可以使用FIRST或AFTER来修改列的排列顺序D.MODIFY可用于修改某个列的名称24.当选择一个数值数据类型时,应该考虑的因素(ABC)A.数据类型数值的范围。B.列值所需要的存储空间数量C.列的精度与标度(适用于浮点与定点数)D.设计者的习惯25.改变表名的指令是(AB)A.ALTER TABLEt1 rename to t2;B.RENAME t1to t2;C.UPDATE NAMEt1 to t2;D.CHANGE NAMEt1 to t2;26.外键定义中ON DELETE与ON UPDATE有几种设置(ABCD)A.CASCADEB.NO ACTIONC.RESTRICTD.SET NULL27.关于TRUNCATE TABLE描述正确的是(ABC)A.TRUNCATETABLE返回值为0。B.表中包含AUTO_INCREMENT列,使用TRUNCATE TABLE可以重置序列值。C.TRUNCATETABLE本身不能回滚。D.TRUNCATETABLE删除表,然后根据表结构重新构建表。28.对于REPLACE语句描述正确的是(ABD)A.REPLACE语句返回一个数字以表示受影响的行,包含删除行和插入行的总和。B.通过返回值可以判断是否增加了新行还是替换了原有行。C.因主键重复插入失败时直接更新原有行。D.因主键重复插入失败时先删除原有行再插入新行。29.关于DELETE和TRUNCATE TABLE区别描述正确的是(ACD)A.DELETE可以删除特定范围的数据。B.两者执行效率一样。C.DELETE返回被删除的记录行数。D.TRUNCATETABLE返回值为0。30.在下列有关GROUP BY语句的描述中,正确的是(ACD)A.分组条件可以有多个,并且每一个可以分别指定排序方式B.可以使用WHERE子句对所得的分组进行筛选C.GROUP BY可配合聚合函数一起使用,但GROUP BY子句中不能直接使用聚合函数D.除了聚合函数,SELECT语句中的每个列都必须在GROUP BY子句中给出31.关于MySQL中UNION操作符的使用,描述正确的是(BCD)A.UNION 用于合并两个或多个 SELECT 语句的结果集,但不会消去任何重复行B.UNION 内部的 SELECT 语句必须拥有相同数量的列,列也必须拥有相似的数据类型C.每条 SELECT 语句中的列的顺序必须相同D.UNION 结果集中的列名总是等于 UNION 中第一个 SELECT 语句中的列名32.关于临时表的描述正确的是(ABCD)A.只在创建的会话可见,其它会话不能访问另一个会话创建的临时表。B.临时表只存在于会话生命周期中。C.临时表可以与非临时表有相同的名称。D.临时表不能使用SHOW TABLES显示。33.关于SELECT语句以下哪些描述是正确的(ABD)A.SELECT语句用于查询一个表或多个表的数据。B.SELECT语句属于数据操作语言(DML)。C.SELECT语句的列必需是基于表的列的。D.SELECT语句表示数据库中一组特定的数据记录。34.下列有关NULL值的描述中,错误的是(BCD)A.要想查找NULL值,必须使用IS NULL测试B.NULL和空字符是完全一样的C.可以使用"= NULL"进行NULL值的测试D.在使用ORDER BY时,NULL值被当做最大值处理35.存储程序中循环语句有哪些(ABC)A.REPEATB.WHILEC.LOOPD.FOR36.存储程序中处理器有哪几种类型(CD)A.HANDLEB.CASEC.CONTINUED.EXIT37.下列关于MySQL基本表和视图的描述中,错误的是(ABC)A.对基本表和视图的操作完全相同B.只能对基本表进行查询操作,不能对视图进行查询操作C.只能对基本表进行更新操作,不能对视图进行更新操作D.能对基本表和视图进行更新操作,但对视图的更新操作是受限制的38.下列关于表的叙述中,正确的是(BCD)A.所有合法用户都能执行创建表的命B.MySQL中建立的表一定属于某个数据库C.建表的同时能够通过Primary Key指定表的主键D.MySQL中允许建立临时表39.下列关于触发器的叙述中,正确的是(BCD)A.触发器可以建立在视图上B.在触发器的创建中,每个表每个事件每次只允许一个触发器C.每个表最多支持6个触发器D.同一表不能拥有两个具有相同触发时刻和事件的触发器40.下列关于MySQL触发器的描述中,正确的是(ABD)A.触发器的执行是自动的B.触发器多用来保证数据的完整性C.触发器可以创建在表或视图上D.一个触发器只能定义在一个基本表上41.下列操作中,可能触发对应关系表上触发器的操作是(BCD)A.SELECTB.INSERTC.UPDATED.DELETE42.下列关于视图的叙述中,错误的是(BCD)A.使用视图,能够屏蔽数据库的复杂性B.更新视图数据的方式与更新表中数据的方式相同C.视图上可以建立索引D.使用视图,能够提高数据更新的速度43.关于MySQL中存储函数和存储过程的区别,正确的是(ABC)A.存储过程可以有输出参数,而存储函数则没有B.存储函数必须使用RETURN语句返回结果C.调用存储函数无需使用CALL语句D.存储函数中不能像存储过程那样定义局部变量44.存储程序的优点(BCD)A.逻辑只与MYSQL有关,与客户端语言无关B.安全:最少的数据访问、单一位置的处理C.性能:通过交互减少提高性能D.函数库:可利用数据库服务器函数库45.存储程序的问题(ABCD)A.增加服务器负担B.开发工具有限C.有限的语言函数与速度D.有限的调试/配置能力46.存储程序中选择语句有哪些(AB)A.IFB.CASEC.SELECTD.SWITCH47.事务具有哪些特性(ABCD)A.原子性B.一致性C.隔离性D.持久性48.哪些语句会导致隐式提交(ABCD)A.数据定义语句(ALTER、CREATE、DROP)B.数据访问和用户管理(GRANT、REVOKE)C.锁语句(LOCK TABLES、UNLOCK TABLES)D.部分数据操作语句(TRUNCATE TABLE)49.在并行的事务之间可能存在哪些现象(BCD)A.隔离B.脏读C.不可重复读D.幻像读50.MySQL数据库存在哪些隔离级别(ABCD)A.读未提交B.读已提交C.可重复读D.可串行化 (三)、判断1.关系模型用二维表表示实体及实体之间的联系。(对)2.外键的作用是定义表中两个属性之间的关系。(错)3.关系表中一列的数据类型可以不同。(错)4.主键是表中能够唯一标识元组的一个属性。(错)5.一个实体型通常转换为一个关系模式。(对)6.一个一对多的联系只能转换为一个独立的关系模式。(错)7.三个实体间的一个联系可以转换为三个关系模式。(错)8.一个多对多的联系可以与任意一端实体对应的关系合并(错)9.实体和联系都可以包含自己的属性。(对)10.联系仅存在于两个实体之间,即只有二元联系。(错)11.两个实体型之间的联系可分为1:1、1:N两种。(错)12.通常使用E-R图建立数据库的物理模型。(错)13.数据库应用系统中的核心问题是数据库维护。(错)14.数据库管理系统是一种编译系统。(错)15.MySQL数据库的数据模型是层次模型。(错)16.MySQL数据库中的数据完整性,不包括参照完整性。(错)17.在数据库设计中,通常使用E-R图建立数据库的物理模型。(错)18.SQL是关系数据库的通用查询语言。(对)19.数据库系统提供的恢复策略,可自动对数据库进行恢复,无需人工干预。(错)20.数据库恢复是以数据库备份为基础,如果数据库没有备份则无法恢复。(对)21.对数据库进行恢复时,应将最新的数据库副本加载到系统。(对)22.进行数据库恢复操作时,先执行一些系统安全性检查。(对)23.mysqldump命令的作用是备份数据库中的数据(错)24.数据库恢复是使数据库从错误状态恢复到最近一次备份时的正确状态。(对)25.数据库恢复的基础是数据库副本和日志文件。(对)26.数据库恢复措施与数据库备份的类型有关。(对)27.执行REVOKE语句的结果是用户的权限被撤销,但用户仍保留在系统中##用户的权限被撤销,并且从系统中删除该用户。(对)28.MySQL服务器使用TCP/IP网络的默认端口号是3306.(对)29.列级约束针对某个特定的列,包含在列定义中。(对)30.表级约束与列定义相互独立,不包含在列定义中。(对)31.列级约束可能涉及到多个列,也可能仅涉及到一个列。(错)32.表级约束可能涉及到多个列,也可能仅涉及到一个列。(对)33.在ALTER TABLE命令中使用MODIFY能够更改字段名。(错)34.索引能够提高数据表读写速度。(错)35.索引能够提高查询效率。(对)36.UNIQUE索引是唯一性索引。(对)37.索引可以建立在单列上,也可以建立多列上。(对)38.索引通常可减少表扫描,从而提高检索的效率。(对)39.索引的数据无需存储,仅保存在内存中。(错)40.一个表上可以有多个聚集索引。(错)41.所有索引都是唯一性的索引。(错)42.GROUP子句带WITH ROLLUP的作用是产生多个级别的统计值。(对)43.在MySQL中,NULL的含义是FALSE。(错)44.设置语句结束符的命令是delimiter。(对)45.使用关键字CALL可以调用的数据库对象是触发器。(错)46.视图可以创建索引。(错)47.活动的事件能够在指定时刻执行某些任务。(对)48.事件必须与特定的数据表相关。(错)49.事件用于维护系统的完整性。(错)50.删除事件的语句是DELETE EVENT。(错) 二、主观部分:(一)、填空题1.      在MySQL中,通常使用USE语句来指定一个已有数据库作为当前工作数据库。2.      设置表的默认字符集关键字是DEFAULT CHARACTER SET3.      在创建数据库时,可以使用IF NOT EXISTS子句确保如果数据库不存在就创建它,如果存在就直接使用它。4.      在CREATE TABLE语句中,通常使用PRIMARY KEY关键字来指定主键。5.      在创建表格时,可以使用TEMPORARY关键词使当前建立的表为临时表。6.      DROP DATABASE命令用于删除一个数据库。7.      CHAR用于声明一个定长类型的列,其中“字符串长度”用于限制可插入的字符串的最大长度,设置范围为0到255。8.      SQL语句中修改表结构的命令是ALTER TABLE。9.      如果一个列是整数类型,则可以使用auto increment关键字指定该列的值自动增加。10.   在MySQL中,通常使用NULL值来表示一个列值没有值或缺值的情形。11.   将一个列设置为主键的方法是,在列的定义中使用PRIMARY KEY 或 KEY子句。12.   UNION关键字能够将两个或多个SELECT语句的结果连接起来。13.   如果x->y,y->z成立,那么x->z也成立,这个推理规则称为传递函数依赖。14.   数据库设计主要包括概念结构设计、逻辑结构设计和物理结构设计。15.   创建索引通常使用CREATE INDEX语句.16.   如果关系模式R属于1NF,且每个非主属性都完全函数依赖于R的主码,则R属于2NF。17.   用二维表结构表示实体以及实体间联系的数据模型称为关系数据模型。18.   mysql中唯一索引的关键字是unique index。19.   在数据库设计中,将E-R图转换成关系数据模型的过程属于逻辑设计阶段。20.   如果使用IGNORE关键词,则即使在更新过程中出现错误,更新语句也不会中断。21.   6.在E-R图中,矩形表示实体。22.   求数据总和的聚合函数是SUM。23.   可以用DECLARE CURSOR来声明游标24.   使用CREATE TABLE语句的FULLTEXT子句,在创建基本表时可以启用全文本搜索25.   用于将事务处理写到数据库的命令是commit。26.   在select语句的where子句中,使用正则表达式过滤数据的关键字是regexp。27.   删除用户账号命令是DROP USER。28.   在SELECT语句中,使用关键字DISTINCT可以把重复行屏蔽。29.   MySQL中,预设的、拥有最高权限超级用户的用户名为root。30.   START TRANSACTION表示一个新的事务处理块的开始31.   在正则表达式中,匹配任意一个字符的符号是.。32.   拼接字段的函数是CONCAT()。33.   返回字符串长度的函数是length()。34.   存储过程和存储函数的相关信息在 routines 表中存放。35.   锁是一种用来防止多个客户端时访问数据而产生问题的机制。36.   事务是将一个数据处理执行步骤的集合作为一个单一单元来处理。37.   为字段设定默认值,需要使用的关键字是DEFAULT。38.   在使用 CREATE INDEX 创建索引时,其默认的排序方式是升序。39.   SELECT SUBSTRING(‘Welcome to China’, 9,2)的结果是to。40.   在使用CREATE USER创建用户时设置口令的命令是IDENTIFIED BY。41.   MySQL数据库中最小授权对象是列。42.   当对视图进行 UPDATE、INSERT和DELETE操作时,为了保证被操作的行为满足视图定义中子查询语句的谓词条件,应在视图定义语句中使用可选择项WITHCHECK OPTION 。43.   调用存储过程须使用call关键字。44.   使用create trigger语句可以创建一个触发器。45.   从游标中提取数据需要使用fetch语句。46.   读锁也称为共享锁。47.   原子性用于标识事务是否完全地完成。48.   leave语句用于跳出当前的循环语句。49.   如果需要执行大量的select语句,出于性能方面的考虑,MyISAM存储引擎是更好的选择。50.   外模式通常是模式的子集。 (二)、名词解释1.       数据库2.       数据库管理系统3.       关系数据库管理系统4.       关系数据库5.       结构化查询语言1-5,请参看1.1章节内容。6.       数据库技术7.       模式8.       外模式9.       内模式6-9请参看1章讲稿。10.    模型11.    数据建模12.    业务建模10-12请参看1.2章节内容。13.    数据模型14.    概念模型13-14请参看1章讲稿。15.    主键约束16.    外键约束17.    唯一性约束18.    检查约束19.    第一范式20.    第二范式21.    第三范式15-21请参看1.4章节内容。22.    MySQL服务23.    MySQL服务实例24.    MySQL服务器25.    端口号22-25请参看2.1.1章节内容。26.    MySQL客户机27.    MySQL会话?26-27请参看2.1.1章节内容。28.    字符集29.    字符序28-29请参看2.2.1章节内容。30.    共享表空间31.    独享表空间30-31请参看2.4.6章节内容。32.    内连接33.    外连接32-33请参看5.1.3章节内容。34.    相关子查询35.    非相关子查询34-35答:如果子查询中仅仅使用了自己定义的数据源,不依靠主查询,能够独立运行的子查询,这种查询是非相关子查询。非相关子查询是独立于外部查询的子查询,子查询总共执行一次,执行完毕后将值传递给主查询。如果子查询中使用了主查询的数据源,这种查询是相关子查询,此时主查询的执行与相关子查询的执行相互依赖。36.    local检查视图37.    cascaded检查视图36-37创建视图时,没有使用with check option子句时,即with_check_option的值为0,表示视图为普通视图;使用with check option子句或者with cascaded check option子句时,表示该视图为cascaded检查视图;使用with local check option子句,表示该视图为local检查视图。检查视图:通过检查视图更新基表数据时,检查视图对更新语句进行了先行检查,只有满足检查条件的更新语句才能成功执行。如果更新语句不满足检查视图定义的检查条件,则检查视图抛出异常,更新失败。38.    触发器请参看7.2章节内容。39.    锁的粒度40.    隐式锁41.    显式锁42.    读锁43.    写锁44.    锁的生命周期39-44请参看9.2章节内容。45.    脏读46.    幻读45-46请参看9.3.2章节内容。47.    原子性48.    一致性49.    隔离性50.    持久性47-50请参看9.3章节内容。 (三)、简答题1.      MySQL有哪些特点?答:请参看2.1.1章节内容。2.      简单描述MySQL的使用流程。答:请参看2.1.1章节内容。3.      请列举my.ini配置文件中常用的参数选项组以及参数信息。答:请参看2.1.5章节内容。4.      启动MySQL服务的方法有哪些?停止MySQL服务的方法有哪些?答:请参看2.1.4章节内容。5.      MySQL客户机连接MySQL服务器的方法有哪些?连接MySQL服务器时,需提供哪些信息?答:请参看2.1.7章节内容。6.      您所熟知的字符集、字符序有哪些?它们之间有什么区别?答:请参看2.2.2章节内容。7.      请简述MySQL字符集的转换过程。答:请参看2.2.3章节内容。8.      MySQL系统数据库有哪些?这些系统数据库有什么作用?答:请参看2.2.1章节内容。9.      如果仅仅需要在数据库中存储中文简体字符,那么如何设置MySQL字符集?答:请参看2.2.4章节内容。10.   MySQL数据库类型有哪些?如何选择合适的数据类型?答:请参看3.1章节内容。请参看3.1.7章节内容。11.   简单总结char(n)数据类型与varchar(n)数据类型有哪些区别。答:请参看3.1.3章节内容。12.   datetime与timestamp数据类型有什么区别?答:请参看3.1.4章节内容。13.   MySQL模式与MySQL复合数据类型有什么关系?答:请参看3.1.5章节内容。14.   索引关键字的选取原则有哪些?答:请参看3.5.2章节内容。15.   索引与约束有什么关系?答:请参看3.5.3章节内容。16.   truncate与delete有什么区别?答:请参看4.3.2章节内容。17.   更新操作与字符集有什么关系?答:如果更新语句中包含中文简体字符,应该合理地设置字符集,否则,将把乱码数据更新到数据库表中。详细请参看4.1.2章节内容。18.   replace语句与insert语句有什么区别?答:请参看4.1.6章节内容。19.   执行了delete语句后,表结构被删除了吗?使用什么命令可以删除表结构?答:delete语句删除的是表中的记录,无法删除表结构;删除表结构可以使用drop table命令。20.   简述limit以及distinct的用法。答:请参看5.1.2章节内容。21.   NULL参与算术运算、比较运算以及逻辑运算时,结果是什么?答:请参看5.2.2章节内容。22.   NULL参与排序时,MySQL对NULL如何处理?答:请参看5.3章节内容。23.   怎样理解select语句与字符集之间的关系?24.   答:请参看5.2.3章节内容。25.   MySQL常用的聚合函数有哪些?这些聚合函数对NULL值操作的结果是什么?答:请参看5.4章节内容。26.   怎样理解having子句与where子句之间的区别?答:请参看5.5.2章节内容。27.   MySQL如何使用like关键字实现模糊查询?有什么注意事项?答:请参看5.2.5章节内容。28.   MySQL如何进行全文检索?全文检索有什么注意事项?答:请参看5.10章节内容。29.   系统会话变量与用户会话变量有什么区别与联系?答:请参看6.1.2章节内容。30.   用户会话变量与局部变量有什么区别与联系?答:请参看6.1.2章节内容。31.   为用户会话变量或者局部变量赋值时,有哪些注意事项?答:请参看6.1.2章节内容。32.   编写MySQL存储程序时,为什么需要重置命令结束标记?答:请参看6.1.5章节内容。33.   视图与基表有什么区别和联系?视图与select语句有什么关系?答:视图与基表有什么区别和联系:数据库表称为基本表或者基表,视图称为虚表。基表的数据发生变化时,虚表的数据也会随之变化。触发器基于表(严格地说是基于表的记录),这里的表是基表,不是临时表(temporary类型的表),也不是视图。通过视图虽然可以更新基表的数据,但本书并不建议这样做。原因在于,通过视图更新基表数据,并不会触发触发器的运行。视图与select语句有什么关系:视图中保存的就是一条select语句。对于经常使用的结构复杂的select语句,建议将其封装为视图。34.   MySQL触发器中的触发事件有几种?触发器的触发时间有几种?答:请参看7.2.1章节内容。35.   如何理解临时表的?临时表与基表有什么关系?答:请参看7.3.1章节内容。请参看7.3.4章节内容36.   如何理解视图、子查询、临时表、派生表之间的关系的?答:请参看7.5章节内容。37.   查看存储过程定义的方法有哪些?答:请参看8.1.4章节内容。38.   请罗列存储过程与函数的区别与联系。答:请参看8.1.6章节内容。39.   数据库开发人员定义错误处理机制时,需要提供错误处理类型、错误触发条件以及错误处理程序等信息,错误处理类型有哪些?什么是错误触发条件以及错误处理程序?答:错误处理类型的取值要么是continue,要么是exit。当错误处理类型是continue时,表示错误发生后,MySQL立即执行自定义错误处理程序,然后忽略该错误继续执行其他MySQL语句。当错误处理类型是exit时,表示错误发生后,MySQL立即执行自定义错误处理程序,然后立刻停止其他MySQL语句的执行。错误触发条件以及错误处理程序,请参看8.2.1章节内容。40.   游标的使用步骤是什么?每一个步骤完成什么任务?答:请参看8.3.1章节内容。41.    使用预处理SQL语句有哪些注意事项?预处理SQL语句与静态SQL语句有什么区别和联系?答:注意事项请参看8.4.1章节内容;预处理SQL语句与静态SQL语句有什么区别和联系请参看8.4.4章节内容。42.   请简单描述事务的必要性。答:请参看9.1.1章节内容。43.   关闭MySQL自动提交的方法有哪些?您推荐数据库开发人员使用哪一种方法?答:请参看9.1.2章节内容。推荐数据库开发人员尽可能地使用MySQL命令“start transaction;”隐式地关闭自动提交,使用MySQL命令“commit;”显示地提交更新语句。44.       关闭MySQL自动提交后,提交更新语句的方法有哪些?您推荐数据库开发人员使用哪一种方法?答:请参看9.1.4章节内容。推荐数据库开发人员尽可能地使用MySQL命令“start transaction;”隐式地关闭自动提交,使用MySQL命令“commit;”显示地提交更新语句。45.   请简单描述典型的事务处理使用方法。答:请参看9.1.5章节内容。46.   请简单描述锁机制的必要性。答:请参看9.2.1章节内容。47.   锁等待与死锁之间是什么关系?答:请参看9.2.9章节内容。48.   请解释事务的ACID特性。答:请参看9.3.1章节内容。49.   MySQL支持哪些事务隔离级别?默认的事务隔离级别是什么?答:请参看9.3.2章节内容。50.   您如何理解事务、锁机制、事务的隔离级别之间的关系?答:请参看9.4章节内容。
页: [1]
查看完整版本: 《MySQL数据库》课程期末复习资料