mysql练习题和答案.docx
一、选择题1数据库系统的核心是_。A数据模型 B数据库管理系统 C数据库 D数据库管理员2E-R图提供了表示信息世界中实体、属性和_的方法。A数据 B联系 C表D模式3E-R图是数据库设计的工具之一,它一般适用于建立数据库的_。A概念模型 B结构模型 C物理模型 D逻辑模型4将ER图转换到关系模式时,实体与联系都可以表示成_。A属性 B关系 C键D域5在关系数据库设计中,设计关系模式属于数据库设计的_。A需求分析阶段 B概念设计阶段C逻辑设计阶段 D物理设计阶段6从ER模型向关系模型转换,一个M:N的联系转换成一个关系模式时,该关系模式的键是_。AM端实体的键 B端实体的键CM端实体键与N端实体键组合 D重新选取其他属性二、填空题1数据库系统的三级模式结构是指数据库系统是由_、_和_三级构成。2数据库系统的运行与应用结构有客户服务器结构(CS结构)和_两种。3在数据库的三级模式体系结构中,外模式与模式之间的映射实现了数据库的_独立性。4用二维表结构表示实体以及实体间联系的数据模型称为_数据模型。5数据库设计包括概念设计、_和物理设计。6在E-R图中,矩形表示_。三、简答题1请简述什么是数据库管理系统,以及它的主要功能有哪些?2请简述什么是数据库系统?3请简述什么是模式、外模式和内模式?4请简述CS结构与BS结构的区别。5请简述关系规范化过程。第一章一、选择题1A 2B 3A 4B 5C 6C二、填空题1模式外模式 内模式 2浏览器服务器结构(BS结构) 3逻辑4。关系 5逻辑设计 6实体三、简答题1略。可参考第1章11节内容。2数据库、数据库管理系统与操作数据库的应用程序,加上支撑它们的硬件平台、软件平台和与数据库有关的人员(如DBA、程序设计者等)一起,就构成了一个完整的数据库系统。3略。可参考第1章I31小节内容。4略。可参考第1章133小节内容。5略。可参考第1章142小节内容。一、选择题1、可用于从表或视图中检索数据的SQL语句是_。ASELECT语句BINSERT语句CUPDATE语句DDELETE语句2、SQL语言又称_。A结构化定义语言B结构化控制语言C结构化查询语言D结构化操纵语言二、填空题1、MySQL数据库所支持的SQL语言主要包含_、_、_和MySQL扩展增加的语言要素几个部分。2、在MySQL的安装过程中,若选用“启用TCP/IP网络”,则MySQL会默认选用的端口号是_。3、MySQL安装成功后,在系统中回默认建立一个_用户。4、MySQL安装包含典型安装、定制安装和_三种安装类型。三、简答题1请列举MySQL的系统特性。2请简述MySQL的安装与配置过程。3请列举两个常用的MySQL客户端管理工具。4请解释SQL是何种类型的语言?第二章一、选择题1A 2C二、填空题1数据定义语言(DDL)数据操纵语言(DML)数据控制语言(DCL)233063root 4完全安装三、简答题1略。可参考第2章21节内容。2略。可参考第2章22节内容。3MySQL命令行客户端、MySQL图形化管理工具phpAdmin。4SQL是结构化查询语言(Structured Q-ery Language)的英文缩写,它是一种专门用来与数据库通信的语言。一、选择题1、在MySQL中,通常使用_语句来指定一个已有数据库作为当前工作数据库。AUSINGBUSEDCUSESDUSE2、下列_类型不是MySQL中常用的的数据类型。AINTBVARCTIMEDCHAR二、填空题1、在MySQL中,通常使用_值来表示一个列植没有值或缺值的情形。2、在CREATE TABLE语句中,通常使用_关键字来指定主键。三、编程题1、请使用MySQL命令行客户端在MySQL中创建一个名为db_test的数据库。2、请使用MySQL命令行客户端在数据库db_test中,创建一个网络留言板系统中用于描述网络留言内容的数据表content,该表的结构如下: 注:本书诸多习题将基于这里创建的数据库db_test和表content。四、简答题请分别解释AUT0_INCREMENT、默认值和NULL值的用途。第三章一、选择题1D 2B二、填空题1NULL 2PRIMARY KEY三、编程题1在MySQL命令行客户端输入如下SQL语句即可实现:mysql>CREATE DATABASE db_test;Query OK,1 row affected(005 see)2在MySQL命令行客户端输入如下SQL语句即可实现: mysql>USE dbtest: Database changed mysql>CREATE TABLE content 一>(contentid INT NOT NULL AUT0INCREMENT PRIMARY KEY, 一> subject VARCHAR(200), 一> words VARCHAR(1000), 一> username VARCHAR(50), 一> face VARCHAR(50), 一> email VARCHAR(50), 一> createtime DATETIME一>):Query OK,0 rows affected(2.56sec)一、选择题下列语句中,_不是表数据的基本操作语句。A)CREATE语句 B)INSERT语句 C)DELETE语句D)UPDATE语句二、填空题1在MySQL中,可以使用INSERT或_语句,向数据库中一个已有的表插入一行或多行元组数据。2在MySQL中,可以使用_语句或_语句删除表中的一行或多行数据。3在MySQL中,可以使用_语句来修改、更新一个表或多个表中的数据。三、编程题1请使用INSERT语句向数据库db_test的表content中插入一行描述了下列留言信息的数据:留言ID号由系统自动生成;留言标题为“MySQL问题请教”;留言内容为“MySQL中对表数据的基本操作有哪些?”;留言人姓名为“MySQL初学者”;脸谱图标文件名为“facejpg”;电子邮件为“tomgmailcom”;留言创建日期和时间为系统当前时间。2请使用UPDATE语句将数据库db_test的表content中留言人姓名为“MySQL初学者”的留言内容修改为“如何使用INSERT语句?”。3请使用DELETE语句将数据库db_test的表content中留言人姓名为“MysQL初学者”的留言信息删除。四、筒答题1请简述INSERT语句与REPLACE语句的区别。2请简述DELETE语句与TRUNCATE语句的区别。四、简答题略。可参考第3章32.1小节内容第四章 一、选择题 A 二、填空题 1REPLACE 2 DELETE TRANCATE3UPDATE 三、编程题1在MySQL命令行客户端输入如下SQL语句即可实现: mysql>USE db_test; Database changed mysql>INSERT INTO content(content_id,subject,words,usename,face,email,createtime) 一>VALUES(NULL,MySQL问题请教,MySQL中对表数据的基本操作有哪些? 一> MySQL初学者,faceJpg,tomgmailCOB',NOW(); Query OK1 row affected(008 sec)Query OK,1 row affected(055 see)2在MySQL命令行客户端输入如下SQL语句即可实现: mysql>USE dbtest; Database changed mysql>UPDATE content 一>SET words=如何使用INSERT语句? 一>WHERE username=MySQL初学者; Query OK,1 row affected(008 sec) Rows matched:1 Changed:1 Warnings:0 3在MySQL命令行客户端输入如下SQL语句即可实现: mysql>USE dbtest; Database changed mysql>DELETE FROM content 一>WHERE usemame=MySQL初学者; Query OK,1 rOW affected(009 sec) 四、简答题 1略。可参考第4章41节内容。 2略。可参考第4章42节内容。一、选择题1在MySQL中,通常使用_语句来进行数据的检索、输出操作。ASELECT BINSERT CDELETE DUPDATE2在SELECT语句中,可以使用_子句,将结果集中的数据行根据选择列的值进行逻辑分组,以便能汇总表内容的子集,即实现对每个组的聚集计算。ALIMIT BGROUP BY CWHERE DORDER BY二、填空题1SELECT语句的执行过程是从数据库中选取匹配的特定_和_,并将这些数据组织成一个结果集,然后以一张_的形式返回。2当使用SELECT语句返回的结果集中行数很多时,为了便于用户对结果数据的浏览和操作,可以使用子句来限制被SELECT语句返回的行数。三、编程题请使用SELECT语句将数据库db_test的表content中留言人姓名为“MySQL初学者”的所有留言信息检索出来。四、简答题1请简述什么是子查询?2请简述UNION语句的作用。第五章 一、选择题 1A 2B 二、填空题 1行列临时表 2LIMIT 三、编程题 在MySQL命令行客户端输入如下SQL语句即可实现: mysql>USE dbtest; Database changed mysql>SELECT*FROM content 一>WHERE username=MySQL初学者; 四、简答题 1略。可参考第5章54节内容。 2略。可参考第5章59节内容。第十五章 编程题 14略。可参照第15章中介绍的开发实例进行编写。一、选择题下列哪种方法不能用于创建索引?_A)使用CREATE INDEX语句 B)使用CREATE TABLE语句C)使用ALTER TABLE语句 D)使用CREATE DATABASE语句二、填空题1创建普通索引时,通常使用的关键字是_或KEY。2创建唯一性索引时,通常使用的关键字是_。三、编程题请用CREATE INDEX语句在数据库db_test的表content中,根据留言标题列的前三个字符采用默认的索引类型刨建一个升序索引index_subject。四、简答题1请简述索引的概念及其作用。2请列举索引的几种分类。3请分别简述在MysQL中创建、查看和测除索引的SQL语句。4请简述使用索引的弊端。第六章 一、选择题 D 二、填空题 1INDEX 2UNIQUE 三、编程题 在MySQL命令行客户端输入如下SQL语句即可实现: mysql>USE db_test; Database changed mysq|>CREATE INDEX index_subject 一> ON content(subject(3)ASC); Query OK,0 rows affected(044 see) Records:0 Duplicates:0 Warnings:0 四、简答题 1略。可参考第6章6I节内容。 2略。可参考第6章62节内容。 3略。可参考第6章63、64、65节内容。 4略。可参考第6章66节内容。第一章一、选择题1A 2B 3A 4B 5C 6C二、填空题1模式外模式 内模式 2浏览器服务器结构(BS结构) 3逻辑4。关系 5逻辑设计 6实体三、简答题1略。可参考第1章11节内容。2数据库、数据库管理系统与操作数据库的应用程序,加上支撑它们的硬件平台、软件平台和与数据库有关的人员(如DBA、程序设计者等)一起,就构成了一个完整的数据库系统。3略。可参考第1章I31小节内容。4略。可参考第1章133小节内容。5略。可参考第1章142小节内容。第二章一、选择题1A 2C二、填空题1数据定义语言(DDL)数据操纵语言(DML)数据控制语言(DCL)233063root 4完全安装三、简答题1略。可参考第2章21节内容。2略。可参考第2章22节内容。3MySQL命令行客户端、MySQL图形化管理工具phpAdmin。4SQL是结构化查询语言(Structured Q-ery Language)的英文缩写,它是一种专门用来与数据库通信的语言。第三章一、选择题1D 2B二、填空题1NULL 2PRIMARY KEY三、编程题1在MySQL命令行客户端输入如下SQL语句即可实现:mysql>CREATE DATABASE db_test;Query OK,1 row affected(005 see)2在MySQL命令行客户端输入如下SQL语句即可实现: mysql>USE dbtest: Database changed mysql>CREATE TABLE content 一>(contentid INT NOT NULL AUT0INCREMENT PRIMARY KEY, 一> subject VARCHAR(200), 一> words VARCHAR(1000), 一> username VARCHAR(50), 一> face VARCHAR(50), 一> email VARCHAR(50), 一> createtime DATETIME一>):Query OK,0 rows affected(2.56sec)四、简答题略。可参考第3章32.1小节内容第四章 一、选择题 A 二、填空题 1REPLACE 2 DELETE TRANCATE3UPDATE 三、编程题1在MySQL命令行客户端输入如下SQL语句即可实现: mysql>USE db_test; Database changed mysql>INSERT INTO content(content_id,subject,words,usename,face,email,createtime) 一>VALUES(NULL,MySQL问题请教,MySQL中对表数据的基本操作有哪些? 一> MySQL初学者,faceJpg,tomgmailCOB',NOW(); Query OK1 row affected(008 sec)Query OK,1 row affected(055 see)2在MySQL命令行客户端输入如下SQL语句即可实现: mysql>USE dbtest; Database changed mysql>UPDATE content 一>SET words=如何使用INSERT语句? 一>WHERE username=MySQL初学者; Query OK,1 row affected(008 sec) Rows matched:1 Changed:1 Warnings:0 3在MySQL命令行客户端输入如下SQL语句即可实现: mysql>USE dbtest; Database changed mysql>DELETE FROM content 一>WHERE usemame=MySQL初学者; Query OK,1 rOW affected(009 sec) 四、简答题 1略。可参考第4章41节内容。 2略。可参考第4章42节内容。第五章 一、选择题 1A 2B 二、填空题 1行列临时表 2LIMIT 三、编程题 在MySQL命令行客户端输入如下SQL语句即可实现: mysql>USE dbtest; Database changed mysql>SELECT*FROM content 一>WHERE username=MySQL初学者; 四、简答题 1略。可参考第5章54节内容。 2略。可参考第5章59节内容。第六章 一、选择题 D 二、填空题 1INDEX 2UNIQUE 三、编程题 在MySQL命令行客户端输入如下SQL语句即可实现: mysql>USE db_test; Database changed mysq|>CREATE INDEX index_subject 一> ON content(subject(3)ASC); Query OK,0 rows affected(044 see) Records:0 Duplicates:0 Warnings:0 四、简答题 1略。可参考第6章6I节内容。 2略。可参考第6章62节内容。 3略。可参考第6章63、64、65节内容。 4略。可参考第6章66节内容。第七章 一、选择题 D 二、填空题 1CREATE VIEW 2DROP VIEW 三、编程题 在MvSQL命令行客户端输入如下SQL语句即可实现:mysql>USE db_test;Database changedmysql>CREATE VlEW content_view一> AS一> SELECT * FROM content一> WHERE username='MySQL 初学者一>WITH CHECK OPTIONOtlerv OK0 rows affected(0.17sec)四、简答题1略。可参考第7章7.1节内容2略。可参考第7章7.1节内容第八章一、填空题 实体完整性 参照完整性 用户定义的完整性。二、简答题1略。可参考第8章811小节内容。2略。可参考第8章811小节内容。第九章一、填空题INSERT触发器 DELETE触发器 UPDATE触发器二、编程题在MySQL命令行客户端输入如下SQL语句即可实现:mysql>USE dbtest;Database changedmysql>CREATE TRIGGER content_delete_trigger AFTER DELETE > ON content FOR EACH ROW SETstr=old content deleted!; Query OK,0 rows affected(259 sec)第十章 一、编程题 在MySQL命令行客户端输入如下SQL语句即可实现: mysql>USE db_test; Database changed mysql>DELIMITER$ mysql>CREATE EVENT IF NOT EXISTS event_delete_content > ON SCHEDULE EVERY l MONTH > STARTS CURDATE()+INTERVAL l MONTH > ENDS20131231 >DO > BEGIN > IF YEAR(CURDATE()<2013 THEN >DELETE FROM content > WHERE username=MySQL初学者; > END IF; > END$ Query OK。0 rows affected(235 see) 二、简答题 1事件就是需要在指定的时刻才被执行的某些特定任务,其中这些特定任务通常是一些确定的SQL语句。 2事件可以根据需要在指定的时刻被事件调度器调用执行,并以此可取代原先只能由操作系统的计划任务来执行的工作。 3事件和触发器相似,都是在某些事情发生的时候才被启动,因此事件也可称作临时触发器(temporal trigger)。其中,事件是基于特定时间周期触发来执行某些任务,而触发器是基于某个表所产生的事件触发的,它们的区别也在于此。第十一章 一、编程题 在MySQL命令行客户端输入如下SQL语句即可实现: mysql>USE db_test; Database changed mysql>DELIMITER$ mysql>CREATE PROCEDURE sp_update email(IN USer_name VARCHAR(50),IN e_mail VARCHAR(50) 一>BEGIN 一> UPDATE content SET email=e_mail WHERE username=user_name; 一>END$ Query OK,0 rows affected(006 SeC) 二、简答题 1存储过程是一组为了完成某特定功能的SQL语句集,其实质上就是一段存放在数据库中的代码,它可以由声明式的SQL语句(如CREATE、UPDATE和SELECT等语句)和过程式SQL语句(如IF-THEN-ELSE控制结构语句)组成。 2略。可参考第11章111节内容。 3游标是一个被SELECT语句检索出来的结果集。在存储了游标后,应用程序或用户就可以根据需要滚动或浏览其中的数据。 4存储函数与存储过程之间存在这样几点区别: (1)存储函数不能拥有输出参数,这是因为存储函数自身就是输出参数;而存储过程可以拥有输出参数。 (2)可以直接对存储函数进行调用,且不需要使用CALL语句;而对存储过程的调用,需要使用CALL语句。 (3)存储函数中必须包含一条RETURN语句,而这条特殊的SQL语句不允许包含于存储过程中。第十二章一、填空题1CREATE USER二、编程题在MySQL命令行客户mysql>USE db_test;Database changedmysql>GRANT SELEC 一> ON db_test.content 一>TO 'wanming''localhost'IDENTIFIED BY'123'Query OK,0 rows affecd(0.05sec)三、简答题1在MySQL中可以授予的权限有这样几组;列权限;表权限;数据库权限;用户权限。2在MySQL的权限授予语句中,可用于指定权限级别的值有下面几类格式(1)*:表示当前数据库中的所有表(2)*·:表示所有数据库中的所有表 (3)db_name*:表示某个数据库中的所有表,(4)db_nametbl_name:表示某个数据库中的某个表或视图,db_name指定数据库名,tbl_name指定表名或视图名。(5)tbl_name:表示某个表或视图,tbl_name指定表名或视图名。(6)db_nameroutine_name:表示某个数据库中的某个存储过程或函数,routine_name指定存储过程名或函数名。第十三章 一、编程题 在MySQL命令行客户端输入如下SQL语句即可实现: mysql>USE db_test; Database changed mysql>SELECT*FROM content 一>INTO OUTFILEC:BACKUPbackupcontenttxt' 一>FIELDS TERMINATED BY',' 一>OPTIONALLY ENCLOSED BY'"' 一>LINES TERMINATED BY'?': Query OK,1 row affected(0Ol sec) 二、简答题 1略。可参考第13章131节内容。 2MySQL数据库备份与恢复的常用方法有: (1)使用SQL语句备份和恢复表数据 (2)使用MySQL客户端实用程序备份和恢复数据 (3)使用MySQL图形界面工具备份和恢复数据 (4)直接复制 3·使用直接从一个MySQL服务器拷贝文件到另一个服务器的方法,需要特别注意以下两点: (1)两个服务器必须使用相同或兼容的MySQL版本。 (2)两个服务器必须硬件结构相同或相似,除非要复制的表使用MyISAM存储格式,这是因为这种表可以 为在不同的硬件体系中共享数据提供了保证。 4·由于二进制Et志包含了数据备份后进行的所有更新,因此二进制日志的主要目的就是在数据恢复时能 够最大可能地更新数据库。第十四章 一、编程题 在文本编辑器中编写如下PHP程序,并命名为insert_contentphp <?php $con=mysqlconnect(”localhost:3306”,”root”,”) or die(“数据库服务器连接失败!<br>··): mysql_select_db(”db_test”,$con)or die(”数据库选择失败!<br>”): mysql_query(”set namesgbk。);设置中文字符集 $sql 2”INSERT INTO content(content_id,subject,words,username,face,email,createtime)n; $sql=$sql”VALUES(NULL,MySQL问题请教,MySQL中对表数据的基本操作有哪些?', MySQL初学者,faceJP9,tomgmailcorn,NOW();”; if(mysql_query($sql,$con) ech0”留言信息添加成功!<br>”: else ech0”留言信息添加失败!<br>”: ?> 二、简答题 1服务端动态脚本语言。 2使用标签“<?php”和“?>”。 3使用PHP进行MySQL数据库编程的基本步骤如下: (1)首先建立与MySQL数据库服务器的连接。 (2)然后选择要对其进行操作的数据库。 (3)再执行相应的数据库操作,包括对数据的添加、删除、修改和查询等。 (4)最后关闭与MySQL数据库服务器的连接。第十五章 编程题 14略。可参照第15章中介绍的开发实例进行编写。