描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302495864丛书名: 21世纪高等学校计算机类课程创新规划教材·微课版
本书体系完整、结构安排合理、内容翔实,注重实践与理论相结合,操作步骤讲解清楚,实验步骤规范且内容有代表性,并注意在实践过程中引导学生进行自我创新学习。
本书适合作为高等院校本科、专科计算机及相关专业的学生学习数据库应用系统开发技术的辅导教材,也可作为从事数据库管理与开发的科技工作者、参加MySQL等级考试的读者的参考用书。
目录
第1部分《MySQL数据库应用与开发》习题参考答案
第1章MySQL数据库概述
1.1教学要求
1.1.1基本要求
1.1.2重点与难点
1.2习题参考答案
第2章MySQL语言基础
2.1教学要求
2.1.1基本要求
2.1.2重点与难点
2.2习题参考答案
第3章MySQL数据库的基本操作
3.1教学要求
3.1.1基本要求
3.1.2重点与难点
3.2习题参考答案
第4章表及数据完整性
4.1教学要求
4.1.1基本要求
4.1.2重点与难点
4.2习题参考答案
第5章数据检索
5.1教学要求
5.1.1基本要求
5.1.2重点与难点
5.2习题参考答案
第6章索引和视图
6.1教学要求
6.1.1基本要求
6.1.2重点与难点
6.2习题参考答案
第7章MySQL编程基础
7.1教学要求
7.1.1基本要求
7.1.2重点与难点
7.2习题参考答案
第8章存储过程、游标和触发器
8.1教学要求
8.1.1基本要求
8.1.2重点与难点
8.2习题参考答案
第9章并发事务与锁机制
9.1教学要求
9.1.1基本要求
9.1.2重点与难点
9.2习题参考答案
第10章权限管理及安全控制
10.1教学要求
10.1.1基本要求
10.1.2重点与难点
10.2习题参考答案
第11章备份与恢复
11.1教学要求
11.1.1基本要求
11.1.2重点与难点
11.2习题参考答案
第12章MySQL性能优化
12.1教学要求
12.1.1基本要求
12.1.2重点与难点
12.2习题参考答案
第13章MySQL日志文件管理
13.1教学要求
13.1.1基本要求
13.1.2重点与难点
13.2习题参考答案
第14章使用PHP操作MySQL数据库
14.1教学要求
14.1.1基本要求
14.1.2重点与难点
14.2习题参考答案
第15章基于JSP技术的MySQL数据库应用开发实例
15.1教学要求
15.1.1基本要求
15.1.2重点与难点
15.2习题参考答案
第2部分MySQL数据库的实验指导与实验安排
第16章MySQL数据库的实验操作环境
16.1MySQL的自带命令
16.1.1查看自带的命令工具
16.1.2DOS窗口执行命令
16.1.3mysqladmin命令
16.1.4mysqlshow命令
16.1.5mysqlbinlog命令
16.1.6perror命令
16.2MySQL的常用命令
16.2.1mysql命令的语法格式
16.2.2MySQL的命令
16.2.3从文本文件执行MySQL命令
16.3MySQL实验中的常见操作
16.4常见的错误代码和处理
第17章MySQL数据库的常用可视化软件
17.1可视化工具Navicat软件的使用
17.1.1Navicat安装和连接
17.1.2数据库管理的基本操作
17.2可视化工具phpMyAdmin软件
17.2.1phpMyAdmin工具的安装和配置
17.2.2phpMyAdmin工具的常用操作
第18章MySQL 5.7实验指导和实验内容
18.1MySQL 5.7实验指导
18.2MySQL 5.7实验内容
实验1MySQL 5.7的运行环境
实验2数据库的基本操作
实验3数据表的基本操作
实验4数据完整性的基本操作
实验5MySQL数据的查询基本操作
实验6多表连接和子查询
实验7索引和视图
实验8MySQL函数的创建和使用
实验9存储过程的创建和使用
实验10触发器、游标和事件
实验11并发事务和锁机制
实验12MySQL的安全管理
实验13备份和恢复
实验14性能优化和日志文件管理
实验15PHP管理MySQL数据表
实验16综合练习
第3部分MySQL数据库模拟试题及参考答案
MySQL数据库模拟试题1
MySQL数据库模拟试题1参考答案
MySQL数据库模拟试题2
MySQL数据库模拟试题2参考答案
MySQL数据库模拟试题3
MySQL数据库模拟试题3参考答案
MySQL数据库模拟试题4
MySQL数据库模拟试题4参考答案
MySQL数据库模拟试题5
MySQL数据库模拟试题5参考答案
MySQL数据库模拟试题6
MySQL数据库模拟试题6参考答案
前言
本书是《MySQL数据库应用与开发》(姜桂洪主编,2018年由清华大学出版社出版)的配套辅导教材。书中采用目前实际生产和教学领域内应用广泛的MySQL软件,利用内容丰富的习题答案、涵盖MySQL所有重要知识点的实验基本操作、典型的模拟试题等形式,从多视角为初学者提供了在Windows系列平台上学习数据库知识的服务环境。同时,还通过可视化软件及综合性实验介绍了MySQL与PHP平台相结合实现数据管理的常用操作。本书从基本操作着手,从教学实际需求出发,结合初学者的认知规律,由浅入深、精心选择MySQL数据库的知识点,以数据库及相关数据库对象为基础,以备份、还原、日志管理、性能优化和利用PHP语言访问MySQL数据等数据库系统管理组件为目标,以形式多样、内容丰富的习题和参考答案对基本操作进行示范,与主教材一起打造出比较完整的立体化课程体系。本书在模块内容安排上体现循序渐进、重点突出的特点。习题解答部分中,每章都配有教学内容的重点、难点介绍和详细的习题参考答案,主要目的是帮助学生掌握数据库的基本概念和MySQL语句的基本规则和基本操作。实验部分主要帮助学生进一步强化基本单元操作,培养学生独立操作的能力。模拟题可以让学生在掌握好所学知识的基础上,进一步了解自己学习本课程的知识水平。通过本书提供的指导材料,学生可以在自由上机的环境下,完成相关数据库的常用操作及管理。全书总共包括如下3部分内容: 第1部分包括第1~15章,内容为主教材的习题参考答案,所有编程题的答案均全部通过调试。第2部分包括第16~18章,内容为MySQL软件的常用实践环境配置操作、MySQL的可视化软件Navicat for MySQL和phpMyAdmin的详细介绍和基本操作,以及学生上机实验时需要注意的问题,并根据教材内容提供16个配套实验。实验操作步骤清晰、完整且有代表性。第3部分提供6套模拟试题及参考答案,为读者学习MySQL数据库提供了自我检查知识掌握水平的契机,旨在帮助读者了解和检验自己的学习情况。全书由姜桂洪、孙福振、苏晶等老师参与编写,由姜桂洪统稿。在本书编写过程中还参阅了大量的数据库方面的文献和网站资料,在此对提供者一并深表感谢。由于作者水平有限,书中纰漏之处在所难免,恳请读者批评指正。编者2018年1月
第1部分《MySQL数据库应用与开发》习题参考答案
学习导读: 本部分包括《MySQL数据库应用与开发》第1~15章的教学重点和难点提示,以及所有习题的参考答案,所有代码均在MySQL 5.7.17版本的环境下测试通过。每章习题包括选择题、思考题和上机练习题3种类型: (1) 选择填空注重基本概念和基本操作的知识点掌握。(2) 思考题侧重基本概念的理解。(3) 上机练习题侧重的是基本操作的练习。第4章的习题答案还附加了主教材和指导书常用数据库teaching的表结构和数据,供大家在学习过程中参考。建议在学习过程中,通过习题熟悉MySQL数据库的基本概念和基本操作。不要满足于看懂程序或习题答案,要多动手做练习,并且要达到一定的做题速度和正确率。在此基础上,借助于网络或其他工具,举一反三,解决一些比教材习题更新颖、算法更复杂的问题。
第1章MySQL数据库概述
1.1教 学 要 求1.1.1基本要求
(1) 掌握有关数据库的基本概念及其之间的关系,如数据、信息、数据库、数据库管理系统、数据库系统和SQL语言。(2) 掌握有关数据库的基本关系理论,投影、选择和连接的内涵。(3) 概念模型的实体、属性、联系、主键、实体集、实体型的基本概念和含义,了解概念模型的表示方法。了解数据库设计中关系模型的规范化的意义。(4) 了解MySQL数据库软件的特点和用途。(5) 熟练掌握MySQL数据库软件的下载、安装和配置过程。(6) 学会利用客户端工具登录MySQL数据库。(7) 了解可视化工具MySQL Workbench的安装和使用方法。(8) 积累本课程的常用英文词汇。1.1.2重点与难点1. 本章重点
(1) 数据库管理系统的功能和组成。(2) 关系数据库的基本理论。(3) 数据库系统的基本组成。(4) 安装、启动和配置MySQL的基本过程。(5) 利用客户端工具登录MySQL数据库。2. 本章难点(1) MySQL数据库软件的下载、安装和配置过程。(2) 利用客户端工具登录MySQL数据库。(3) 关系模型的规范化设计的用途。(4) 概念模型的表示方法ER图的实现。1.2习题参考答案1. 选择题(1) 数据模型的3要素不包括。
A. 数据结构B. 数据操作C. 数据类型D. 完整性约束(2) 关系运算不包括。A. 连接B. 投影C. 选择D. 查询(3) 主教材表11所示的学生信息表中的主键为。A. studentnoB. sexC. birthdateD. sname(4) 下面的数据库产品中,是开源数据库。A. OracleB. SQL ServerC. MySQLD. DB2(5) ER概念模型中,信息的三种概念单元不包括。A. 实体型B. 实体值C. 实体属性D. 实体间联系(6) Linux和UNIX操作平台上不能使用作为数据库。A. OracleB. DB2C. MySQLD. SQL Server(7) ER图是数据库设计的工具之一,一般适用于建立数据库的。A. 概念模型B. 结构模型C. 物理模型D. 逻辑模型(8) SQL语言又称。A. 结构化定义语言B. 结构化控制语言C. 结构化查询语言D. 结构化操纵语言(9) 从ER模型向关系模型转换,一个M∶N的联系转换成一个关系模式时,该关系模式的键是。A. M端实体的键B. N端实体的键C. M端实体键与N端实体键的组合D. 重新选取其他属性(10) DB、DBS和DBMS 3者之间的关系是。
A. DB包括DBMS和DBSB. DBS包括DB和DBMSC. DBMS包括DB和DBSD. 不能相互包括
本题答案: C D A C B D A C C B
2. 简答题(1) 什么是数据库管理系统?举出日常生活中一些应用数据库的实际范例。答: 数据库管理系统DBMS是位于用户和操作系统之间的一种操纵和管理数据库的软件,用于建立、使用和维护数据库。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性,是数据库系统的核心。日常生活中,像学生信息管理、网上购物、银行存取款、购买火车票等,其软件的后台都是由数据库作为支撑的。(2) 说明MySQL数据库管理系统基本系统架构拥有哪4大模块。答: 数据库管理系统是由多种不同的程序模块组成的,基本数据库管理系统的系统架构一般包括如下4部分功能模块: ① 存储管理(Storage Manager)。数据库管理系统通常会自行配置磁盘空间,将数据存入存储装置的数据库。② 查询处理(Query Processor)。负责处理用户下达的查询语言命令语句,可以再细分成多个模块负责检查语法、优化查询命令的处理程序。③ 事务管理(Transaction Manager)。事务管理主要分为: 同名的事务管理子系统,负责处理数据库的事务,保障数据库商业事务的操作需要一并执行; 锁定管理(Lock Manager),也称为并发控制管理(ConcurrencyControl Manager)子系统,负责资源锁定。④ 恢复管理(Recovery Manager)。恢复管理主要是日志管理(Log Manager)子系统,负责记录数据库的所有操作,包含事务日志,以便同名的恢复管理子系统能够执行恢复处理,恢复数据库系统存储的数据到指定的时间点。(3) 举例说明3种关系运算的特点。答: 在关系中访问所需的数据时,需要对关系进行一定的关系运算。关系数据库主要支持选择、投影和连接关系运算,它们源于关系代数中并、交、差、选择、投影和连接等运算。① 选择关系用于查找符合条件的行,从而形成新关系。新关系和原来关系结构一致,记录行变少。例如在学生表中查询年龄18岁以上的学生记录。② 投影关系是从一个表中找出若干字段形成一个新关系的操作,新关系与原来关系的记录行应该一样多,但其数据列变少。例如在学生表中输出学生的学号、姓名和出生日期。③ 连接关系是从两个表中选择满足条件的记录,且新关系中包含原来多个关系的列,新关系结构中的列类型由原来关系中的列映射而来。例如,查询学生的学号、姓名和期末成绩。3个输出项并不是在一个表中可以搜索到,需要进行连接操作。即将2个或多个表中的行按一定的条件横向结合,形成一个新的临时表,在此临时表中进行数据查询。3. 上机练习(1) 从MySQL的官方网站(https://dev.mysql.com/downloads/)下载MySQL 5.7.19版本的数据库,解压缩后进行安装,观察安装成功后的效果。答: ① 下载软件。登录MySQL的官方网站(https://dev.mysql.com/downloads/),在该网站上访问如下页面: https://dev.mysql.com/downloads/windows/installer/8.0.html。即可得到图11所示的下载软件版本mysqlinstallercommunity5.7.19.0.msi。单击Download按钮,即可下载MySQL免费软件。
图11MySQL 5.7.19版本软件
② 软件安装演示。双击下载软件mysqlinstallercommunity5.7.19.0.msi,进入如图12所示的开始安装界面。单击“运行”按钮,进入许可协议界面License Agreement,选择I accept the licence terms复选框,单击Next按钮,进入如图13所示的选择安装类型界面Choosing a Setup Type,选择安装类型Full,单击Next按钮,进入图14所示的界面。单击Execute按钮,依次进行安装即可。在实际安装过程中,要注意的问题包括软件环境是否合适,还要注意记住设置参数,如密码、端口号等。
图12安全警告
图13选择安装版本
图14开始安装
③ 软件配置演示。右击“计算机”图标,在弹出的快捷菜单中选择“属性”命令,在弹出的“控制面板”主页中单击“高级系统设置”标签,对话框中选择“高级系统设置”,弹出“系统属性”对话框,如图15所示。
图15“系统属性”对话框
④ 在“系统属性”对话框中,打开“高级”选项卡,单击“环境变量”按钮,弹出“环境变量”对话框。在“环境变量”对话框中,定位到“系统变量”中的path选项,单击“编辑”按钮,将弹出“编辑系统变量”对话框,如图16所示。在“编辑系统变量”对话框中,将MySQL服务器的bin文件夹位置(F:\ProgramFiles\MySQL\MySQL Server 5.7\bin)添加到变量值文本框中,注意要使用“;”与其他变量值进行分隔,最后,单击“确定”按钮。环境变量设置完成后,再使用MySQL命令即可成功连接MySQL服务器。
图16“编辑系统变量”对话框
(2) 在控制台中完成操作。在启动MySQL服务后打开控制台,在控制台中输入密码完成MySQL的登录,并且执行select命令的相关语句查看系统的当前日期。答: 主要操作命令和运行结果如下:
C:\Users\Administrator> mysql -u root -p
Enter password: ******
mysql> select curdate();
————
| curdate()|
————
| 2017-05-01 |
————
1 row in set (0.07 sec)
(3) 说明在“服务”窗口中,MySQL服务器的启动和关闭方法。答: 执行“开始”→“运行”命令,输入“services.msc”后按Enter键,也可以弹出图17所示的窗口。从中可以看到MySQL服务已经启动,而且服务的启动类型是自动启动。
图17“服务”窗口
选中MySQL服务项右击,弹出如图18所示的对话框。可以在弹出的菜单中,对MySQL57服务器进行“启动”“停止”“暂停”“恢复”和“重新启动”等操作。
图18更改服务的启动类型
第2章MySQL语言基础
2.1教 学 要 求2.1.1基本要求
(1) 了解字符集和字符序的基本概念和用途。(2) 掌握标识符、关键字、常量、变量等MySQL的基本语法要素的概念和应用。(3) 熟练掌握常用字符型、数值型、日期时间型等数据类型的用途。(4) 熟练掌握算术运算符、比较运算符、逻辑运算符及位运算符的用途。了解运算符的优先级及其作用。(5) 熟练掌握常用字符型函数、日期时间型函数、数值型函数的格式和用途。(6) 掌握各种值类型表达式的写法和用途。(7) 学会利用select语句对常量、变量、函数、表达式等进行数据输出的操作。2.1.2重点与难点1. 本章重点
(1) 字符集和字符序的基本概念。(2) 标识符、关键字、常量、变量等MySQL的基本语法要素的概念和应用。(3) 常用字符型、数值型、日期时间型等数据类型的用途。(4) 算术运算符、比较运算符、逻辑运算符及位运算符的用途。(5) 常用字符型函数、日期时间型函数、数值型函数的格式和用途。2. 本章难点(1) 各种数据类型的变量的定义和使用方法。(2) 常用字符型函数、日期时间型函数、数值型函数的格式。(3) 算术运算符、比较运算符、逻辑运算符的使用方法。2.2习题参考答案1. 选择题
(1) 以下命令中,是DML语句。
A. createB. alterC. selectD. drop
(2) 以下关于MySQL的说法中错误的是。A. MySQL是一种关系型数据库管理系统B. MySQL软件是一种开放源码软件C. MySQL服务器工作在客户端/服务器模式下,或嵌入式系统中D. 在Windows系统下MySQL中书写MySQL语句区分大小写(3) 控制台中执行语句时可以退出MySQL。A. exltB. go或quitC. go或exitD. exit或quit(4) 关于MySQL数据库的说法,选项的说法是错误的。A. MySQL数据库不仅开放源码,而且能够跨平台使用。例如,可以在Windows操作系统中安装MySQL数据库,也可以在Linux操作系统中使用MySQL数据库B. MySQL数据库启动服务时有两种方式,如果服务已经启动可以在任务管理器中查找mysqlId.exe程序,如果该进程存在则表示正在运行C. 手动更改MySQL的配置文件my.ini时,只能更改与客户端有关的配置,而不能更改与服务器端相关的配置信息D. 登录MySQL数据库成功后,直接输入“help;”语句后,按Enter键可以查看帮助信息(5) 下列类型不是MySQL中常用的数据类型。A. intB. varC. timeD. char(6) 在MySQL中会话变量前面的字符为。A. 空格B. #C. @@D. @(7) 设置表的默认字符集关键字是。A. defaultcharacterB. defaultsetC. defaultD. default character set
本题答案: C D D C B D D
2. 简答题(1) 简述字符集UTF8和GB 2312的区别。答: UTF8被称为通用转换格式,是针对Unicode字符的一种变长字符编码。该字符集是用以解决国际上字符的一种多字节编码,它对英文使用8B,中文使用24B来编码。UTF8包含全世界所有国家需要用到的字符,是国际编码,通用性强。UTF8编码的文字可以在各国支持UTF8字符集的浏览器上显示。GB 2312是简体中文字符集,GBK是对GB 2312的扩展,GBK是在国家标准GB 2312基础上扩容后兼容GB 2312的标准。GBK的文字编码是用双字节来表示的,即不论中英文字符均使用双字节来表示,为了区分中文,将其最高位都设定成1。GBK包含全部中文字符,是国家编码,通用性比UTF8差,不过UTF8占用的数据库比GBK大。(2) datetime类型和timestamp类型的相同点和不同点是什么?答: 日期与时间类型是为了方便在数据库中存储日期和时间而设计的,datetime和timestamp表示日期和时间。其中的每种类型都有其取值的范围,如赋予它一个不合法的值,将会被“0”代替。datetime的取值范围为10000101 00:00:00 ~99991231 23:59:59,而timestamp的取值范围是19700101 00:00:00至2037年的某个时间。(3) MySQL支持的数据类型主要有哪几类?17属于什么类型?’17’属于什么类型?答: MySQL支持的数据类型主要包括数值型、字符型和日期时间型等。17属于数值型中的整型数据,’17’属于字符型数据。(4) 简述系统变量、全局变量和会话变量的关系。答: 系统变量包括全局系统变量和会话系统变量两种类型。全局变量在MySQL启动时由服务器自动将它们初始化为默认值,主要影响整个MySQL实例的全局设置,大部分全局变量都是作为MySQL的服务器调节参数存在。对全局变量的修改会影响到整个服务器。会话变量在每次建立一个新的连接时,由MySQL来初始化。对会话变量的修改,只会影响到当前的会话,也就是当前的数据库连接。会话变量可以随时定义,必须在名称前加@符号。(5) 简述聚合函数的特点和用途。答: 聚合函数用于对一组值进行计算并返回一个单一的值。除count函数之外,其他聚合函数忽略空值。聚合函数经常与select语句的group by子句一同使用。聚合函数的作用是在结果集中通过对被选列值的收集处理,并返回一个数值型的计算结果。3. 上机练习(1) 创建文本文件。将查询系统当前日期、当前时间以及到2019年1月1号还有多少天。然后通过MySQL命令执行文本文件中的内容。答: 在文本文件“d:\ my231.txt”中的内容如下:
select now();– 查询当前日期命令
select curtime();– 输出当前时间
select datediff(‘2019-1-1’,now()); — 到2019年1月1号的天数
在DOS窗口中执行MySQL命令语句,指定文本文件并执行该文件中的语句。输出结果如下:
C:\Users\Administrator> mysqlEnter password: ******
now()
2017-08-22 09:03:53
curtime()
09:03:53
datediff(‘2019-1-1’,now())
497
C:\Users\Administrator>
(2) 利用随机函数输出20~90的任意两个数(含2位小数)。答: 命令和运行结果如下:
mysql> select20 round(70*rand(),2) , 20 round(70*rand(),2);
———————- ———————
| 20 round(70*rand(),2)|20 round(70*rand(),2) |
———————- ———————
|47.69|20.68 |
———————- ———————
1 row in set (0.02 sec)
(3) 计算1000天后的日期和3000分钟后的日期时间。答: 命令和运行结果如下:
mysql> select date_add(now(),interval 1000 day);
—————————-
| date_add(now(),interval 1000 day) |
—————————-
| 2020-03-29 19:29:22 |
—————————-
1 row in set (0.00 sec)
mysql> select date_add(now(),interval 3000 minute);
——————————
| date_add(now(),interval 3000 minute) |
——————————
| 2017-07-05 21:29:22|
——————————
1 row in set (0.00 sec)
第3章MySQL数据库的基本操作
3.1教 学 要 求3.1.1基本要求
(1) 了解数据库设计的基本过程。(2) 掌握概念模型的设计过程和利用ER图描述概念模型的方法。(3) 了解常用MySQL数据库的用途。(4) 了解常用MySQL数据库存储引擎的特点。(5) 掌握设置和修改MySQL数据库存储引擎的操作。(6) 掌握MySQL数据库的创建、打开和存储方法。(7) 学会利用MySQL Workbench可视化软件维护数据库。3.1.2重点与难点1. 本章重点
(1) 概念模型的设计过程。(2) 利用ER图描述概念模型的方法。(3) 设置和修改MySQL数据库存储引擎的操作。(4) 掌握MySQL数据库的创建、打开、删除和存储方法。(5) 利用MySQL Workbench可视化软件维护数据库的基本操作。2. 本章难点(1) 概念模型的设计过程。(2) 利用ER图描述概念模型的方法。(3) 利用MySQL Workbench可视化软件维护数据库的基本操作。3.2习题参考答案1. 选择题
(1) 在MySQL数据库中,通常使用语句来指定一个已有数据库作为当前工作数据库。A. usingB. usedC. usesD. use
(2) 命令用于删除一个数据库。A. create databaseB. drop databaseC. alter databaseD. use InnoDB(3) 存储引擎支持外键(Foreign Key)和事务(Transaction)和全文检索。A. MEMORYB. MyISAMC. InnoDBD. MySQL(4) 在创建数据库时,可以使用子句确保如果数据库不存在就创建它,如果存在就直接使用它。A. if not existsB. if existsC. if not existD. ifexist(5) 在图形管理工具MySQL WorkBench窗口中使用可视化的界面不能够支持。A. 数据库引擎开发B. 创建数据库C. 维护数据库D. 数据库设计(6) MySQL自带数据库中,存储了系统的权限信息。A. information_schemaB. mysqlC. sakilaD. performance_schema
本题答案: D B C A A B
2. 简答题(1) 如何在MySQL Workbench窗口中修改数据库的字符集?答: 连接MySQL Workbench软件后,在SCHEMAS区选择数据库,例如mysqltest,右击mysqltest数据库,如图31所示,执行Alter Schema命令,进入如图32所示的数据库修改界面,选择Collation字符集选项即可。(2) 简述在MySQL Workbench窗口中创建数据库的步骤。答: MySQL Workbench窗口中使用可视化的界面可以创建数据库。使用MySQL Workbench创建数据库的步骤如下: ① 进入MySQL Workbench主界面进行MySQL数据库的连接。进入MySQL Workbench数据库操作的主界面,单击如图32所示的提示创建数据库命令。
图31选择数据库
图32选择字符集
② 进入设置数据库参数界面。输入数据库名,选择字符集和排序规则,再单击Apply按钮。③ 进入创建数据库脚本显示对话框,再单击Apply按钮,即可完成数据库的创建。④ 在数据库操作界面(图33)的schemas区域,就可以看到刚才创建的数据库mysqltest,还有前面创建的数据库teaching以及MySQL中的系统数据库了。
图33数据库操作主界面
(3) 简述MySQL数据库的特点。答: MySQL与其他的大型数据库例如Oracle、DB2、SQL Server等相比功能稍弱一些,其主要有以下特点: 具有强大的数据保护功能,可以处理拥有万亿条记录的海量数据。 支持常见的SQL语句规范。 可移植性高,安装简单。 具有良好的运行效率,有丰富信息的网络支持。 相对其他大型数据库,调试、管理、优化简单。 可移植性、可扩展性和高灵活性。 提供用于管理、检查、优化数据库操作的管理工具。(4) 存储引擎InnoDB、MyISAM和MEMORY各有什么优缺点?答: MySQL数据库提供了多种存储引擎,用户可以根据不同的需求为数据表选择不同的存储引擎。MySQL 5.7选择InnoDB作为默认存储引擎。InnoDB是事务型数据库的首选引擎,是具有提交、回滚和崩溃恢复能力的事务安全存储引擎,支持行锁定和外键约束。InnoDB是MySQL上第一个提供外键约束的表引擎,而且InnoDB对事务处理的能力,也是MySQL其他存储引擎所无法与之比拟的。相对MEMORY来说,写处理能力差些,且会占用较多磁盘空间以保留数据和索引。InnoDB存储引擎中支持自动增长列auto_increment。MEMORY存储引擎是MySQL中的一类特殊的存储引擎。其使用存储在内存中的内容来创建表,而且所有数据也放在内存中。这些特性都与InnoDB存储引擎、MyISAM存储引擎不同。MyISAM存储引擎曾是MySQL的默认存储引擎。MyISAM存储引擎不支持事务、外键约束,但访问速度快,对事务完整性不要求,适合于以select/insert为主的表。现在的MyISAM增加了很多有用的扩展。MyISAM存储引擎的表存储成三个文件。3. 上机练习题题目要求: 登录数据库系统以后,分别创建student和teacher数据库,数据库都创建成功后,删除teacher数据库。然后查看数据库系统中还存在哪些数据库。主要实现过程如下所示: (1) 登录MySQL数据库客户端; (2) 查看数据库系统中已存在的数据库; (3) 查看该数据库系统支持的存储引擎的类型; (4) 创建student数据库和teacher数据库; (5) 再次查看数据库系统中已经存在的数据库,确保student和teacher数据库已经存在; (6) 删除teacher数据库; (7) 再次查看数据库系统中已经存在的数据库,确保teacher数据库已经删除。答: 命令和运行结果分别显示如下: (1) C:\Users\Administrator>mysql -u root -p
Enter password: ******
(2) mysql> show databases;
—————–
| Database |
—————–
| information_schema |
| db_examsystem |
| mysql |
| mysqltest|
| performance_schema |
| sakila|
| sys |
| teaching |
| world |
—————–
9 rows in set (0.17 sec)
(3) mysql> show engines;– 结果参看教材第3.5.1 小节
(4) mysql>createdatabase if not exists teacher;
Query OK, 1 row affected (0.07 sec)
mysql>createdatabase if not exists student;
Query OK, 1 row affected (0.02 sec)
(5) mysql> show databases;
—————–
| Database |
—————–
| information_schema |
| db_examsystem|
| mysql |
| mysqltest|
| performance_schema |
| sakila |
| student|
| sys |
| teacher|
| teaching |
| world |
—————–
11 rows in set (0.00 sec)
(6) mysql> drop database teacher;
Query OK, 0 rows affected (0.28 sec)
(7) mysql> show databases;
—————–
| Database |
—————–
| information_schema |
| db_examsystem |
| mysql |
| mysqltest|
| performance_schema |
| sakila |
| student|
| sys |
| teaching |
| world |
—————–
10 rows in set (0.00 sec)
第4章表及数据完整性
4.1教 学 要 求4.1.1基本要求
(1) 了解InnoDB存储引擎表空间的基本概念。(2) 掌握创建数据库表的命令格式,以及表中各字段的数据类型和取值范围。(3) 熟练掌握数据表的创建、查看、修改和删除等操作。(4) 熟练掌握数据表记录的添加、修改和删除操作。(5) 掌握利用MySQL Workbench管理表的基本过程。(6) 了解表的数据完整性的用途。(7) 掌握数据表的各种约束的创建和管理操作。了解表的数据完整性规则与数据的正确性、精确性和可靠性的关系。(8) 了解临时表的用途和管理操作。4.1.2重点与难点1. 本章重点
(1) 创建数据库表的命令格式。(2) 数据表的创建、查看、修改和删除等操作。(3) 表记录的添加、修改和删除操作。(4) 掌握利用MySQL Workbench管理表的基本过程。(5) 掌握数据表的各种约束的创建和管理操作。2. 本章难点(1) 创建数据库表的命令格式。(2) 数据表的创建、查看、修改和删除等操作。(3) 表的数据完整性的用途。(4) 数据表的各种约束的创建和管理操作。4.2习题参考答案1. 选择题(1) 要快速完全清空一张表中的记录可使用如下语句。
A. truncate tableB. delete tableC. drop tableD. clear table(2) 使用insert命令插入记录时,使用关键字会忽略导致重复关键字的错误记录。A. no sameB. ignoreC. repeatD. unique(3) SQL语句中修改表结构的命令是。A. modify tableB. modify structureC. alter tableD. alterstructure(4) 只修改列的数据类型的指令是。A. alter table … alter columnB. alter table … modify column…C. alter table … update …D. alter table … update column…(5) 删除列的命令是。A. alter table … delete…B. alter table … delete column…C. alter table … drop …D. alter table … drop column…(6) 创建表时,不允许某列为空可以使用命令。A. not nullB. no nullC. not blankD. no blank(7) 以下指令无法增加记录。A. insert into … values …B. insert into … select…C. insert into … set …D. insert into … update…(8) 关于truncate table描述不正确的是。A. truncate将删除表中的所有数据B. 表中包含auto_increment列,使用truncate table可以重置序列值为该列初始值C. truncate操作比delete操作占用资源多D. truncate table删除表,然后重新构建表(9) 在创建表时,可以使用关键字使当前建立的表为临时表。A. ignoreB. temporaryC. temptableD. truncate(10) 下列描述正确的是。
A. 一个数据库只能包含一个数据表B. 一个数据库可以包含多个数据表C. 一个数据库只能包含两个数据表D. 一个数据表可以包含多个数据库
本题答案: A B C B D A D C B B
2. 简答题(1) 简述在创建表结构时,常用哪些数据类型?其主要功能是什么?答: 在创建MySQL表结构时,常用的4类标准数据类型的主要作用是: ① 字符串类型用于存储普通文本值或特殊类型set和enum类型。② datetime数据类型存储日期和时间,date数据类型存储日期,time数据类型存储时间。Timestamp存储时间标签,year用于存储年份。
评论
还没有评论。