第二章答案
1.通过本章的学习,您了解的MySQL有哪些特点? 答:请参看2.1.1章节内容。
2.请您简单描述MySQL的使用流程。什么是MySQL客户机?登录主机与MySQL客户机有什么关系?什么是MySQL会话?
答:请参看2.1.1章节内容。
MySQL客户机:与MySQL服务器通话的客户端不止一种,比如Windows操作系统下的命令行,可以直接通过命令建立与mysql数据库的通话,另外还有phpmyadmin、MySQL 等图形化界面连接方式等。本书经常使用的MySQL客户机程序mysql.exe存放在C:\\Program Files\\MySQL\\MySQL Server 5.6\\bin目录。
在一台登录主机上可以开启多个MySQL客户机。
数据库用户访问MySQL服务器的数据时,首先需要选择一台登录主机,然后在该登录主机上开启MySQL客户机,输入正确的账户名、密码,建立一条MySQL客户机与MySQL服务器之间的“通信链路”。通信链路断开之前,MySQL客户机可以向MySQL服务器发送多次“请求”,MySQL服务器会对每一次请求做出“响应”,请求/响应期间称为MySQL会话。
3.通过Google或者Baidu搜索引擎,搜索常用的MySQL客户端工具(或者客户机程序)有哪些。
答案参见知乎,网址:
4.MySQL服务、MySQL服务实例、MySQL服务器分别是什么?什么是端口号?端口号有什么作用?
答:请参看2.1.1章节内容。
5.请列举my.ini配置文件中常用的参数选项组以及参数信息。 答:请参看2.1.5章节内容。
6.启动MySQL服务的方法有哪些?停止MySQL服务的方法有哪些? 答:请参看2.1.4章节内容。
7.MySQL客户机连接MySQL服务器的方法有哪些?连接MySQL服务器时,需提供哪些信息?
答:请参看2.1.7章节内容。
8.字符、字符集、字符序分别是什么?字符序的命名规则是什么? 答:请参看2.2.1章节内容。
9.您所熟知的字符集、字符序有哪些?它们之间有什么区别? 答:请参看2.2.2章节内容。
10.请简述MySQL字符集的转换过程。 答:请参看2.2.3章节内容。
11.MySQL系统数据库有哪些?这些系统数据库有什么作用? 答:请参看2.2.1章节内容。
12.如果仅仅需要在数据库中存储中文简体字符,那么如何设置MySQL字符集? 答:请参看2.2.4章节内容。
13.请自己编写一段SQL脚本文件,并运行该脚本文件中的代码。 答:请参看2.2.5章节内容。
14.您所熟知的存储引擎有哪些?MyISAM存储引擎与InnoDB存储引擎相比,您更喜欢哪一个?它们都有什么特点?
5 / 23
答:请参看2.4.1章节内容。
15.创建student数据库,并在该数据库中创建student表,用于保存您的个人信息(如姓名、性别、身份证号、出生日期等),并完成下列操作或问题。
1)上述的student表有没有出现数据冗余现象?(提示:出生日期可以由身份证号推算得出)
答:出生日期可由身份证号计算得出,所以上述的student表存在数据冗余现象。 2)student数据库目录存放在数据库根目录中,默认情况下,根目录是什么? 答:使用命令“show variables like 'datadir';”可以查看参数datadir的值。默认安装MySQL后,数据库根目录datadir的值为“C:/Documents and Settings/All Users/Application Data/MySQL/MySQL Server 5.6/Data/”。
3)如何查看student数据库的结构。 答:请参看2.3.3章节内容。
4)如何查看student表的结构,并查看该表的默认字符集、字符序、存储引擎等信息。 答:请参看2.4.4章节内容。
5)student数据库目录中存放了哪些文件?数据库根目录中存放了哪些文件? 答:请参看2.4.1章节内容。
student数据库目录中存放了如下文件:
(1) 数据库文件(如db.opt)
(2) 表名、后缀名为frm的表结构定义文件
(3) 如果student数据库中存在InnoDB存储引擎的独享表空间的表,则student数据库目录中还会存放一个名为“表名.ibd”的数据文件。 (4) 如果student数据库中存在MyISAM存储引擎的表,则student数据库目录中会存在一个文件名为表名、后缀名为MYD(即MYData的简写)的数据文件以及文件名为表名、后缀名为MYI(即MYIndex的简写)的索引文件。 数据库根目录中存放如下文件以及目录(如下图所示):
数据库目录(例如test数据库目录、student数据库目录) ib_logfile0及ib_logfile1是重做日志文件 InnoDB共享表空间文件ibdata1文件
mysql-bin.000001等一系列二进制日志文件(该知识点超出本章范围) mysql-bin.index二进制日志索引文件(该知识点超出本章范围) mysqld.exe进程ID号PID文件
auto.cnf文件:server_uuid:服务器身份ID。在第一次启动MySQL时,会自动生成一个server_uuid并写入到数据库根目录下auto.cnf文件里,官方不建议修改。
6)将个人信息插入到student表中,并查询student表的所有记录。
6 / 23
create database student; use student; create table student( name char(10) not null, sex char(3) not null, ID char(18) primary key ); insert into student values('张三','男','410******001'); select * from student; 7)在上一步骤的查询结果中是否出现了乱码?如果出现了乱码,如何避免乱码问题的发生?如果没有出现乱码,经过哪些设置可以产生乱码?
如果出现了乱码,重新删除数据库,重新设置字符集,再创建数据库和数据库表(要求在同一个MySQL会话中依次执行下列代码): drop database if exists student; set character_set_client = gbk; set character_set_connection = gbk; set character_set_database = gbk; set character_set_results = gbk; set character_set_server = gbk; create database student; use student; create table student( name char(10) not null, sex char(3) not null, ID char(18) primary key ); insert into student values('张三','男','410******001'); select * from student; 如果没有出现乱码,经过哪些设置可以产生乱码: set names latin1; select * from student;
8)您的个人信息存放到了哪个文件中?
情形一:如果student表是MyISAM存储引擎的表,则则张三的数据存放在一个文件名为studnet、后缀名为MYD(即MYData的简写)的数据文件。
情形二:如果student表是InnoDB存储引擎的共享表空间的表,则张三的数据存放在InnoDB共享表空间文件ibdata1数据文件。
情形三:如果student表是InnoDB存储引擎的独享表空间的表,则张三的数据存放在“student.ibd”的数据文件。
9)如何修改student表的存储引擎?修改student表的存储引擎后,您的个人信息存放到了哪个文件中?
7 / 23
答案:参考上一题。
10)删除student表以及student数据库。 use student; drop table student; drop database student;
16.您所熟知的系统变量有哪些?如何设置系统变量的值? 答:请参看2.5.2章节内容。请参看2.5.3章节内容。
17.如何进行数据库备份和恢复?备份期间,有哪些注意事项? 答:请参看2.6章节内容。
8 / 23
相关推荐: