实验指导书 MySQL V.docx
《实验指导书 MySQL V.docx》由会员分享,可在线阅读,更多相关《实验指导书 MySQL V.docx(47页珍藏版)》请在冰豆网上搜索。
![实验指导书 MySQL V.docx](https://file1.bdocx.com/fileroot1/2023-7/8/ada48068-c674-41f5-bbe9-6e3885e58126/ada48068-c674-41f5-bbe9-6e3885e581261.gif)
实验指导书MySQLV
Thefollowingtextisamendedon12November2020.
实验指导书MySQLV
实验指导书
《数据库原理》
编者:
吕泽华
华中科技大学软件学院
课程编号
课程名称(中文)数据库原理及应用
课程名称(英文)DatabasePrincipleandApplication
课程属性专业课
适用专业软件工程
先修课程要求计算机导论、程序设计基础、数据结构等
总学时64学时
总学分4分
实验学时16学时
实验学分
应开实验学期三年级第一学期
教材及实验指导书名称:
自编的实验指导书
一、课程简介及基本要求
本课程从基本原理和应用实例两方面全面地介绍关系型数据库系统,使学生能够在熟悉数据库系统基本操作及应用的同时,具备基本的应用系统开发的技能,为将来从事工作打下良好的基础。
二、实验课程目的与要求
本实验课程可以使学生在理论学习之后,对课程内容有一个直观的了解;并通过实际操作掌握数据库应用系统开发的各种技能。
本实验课程要求学生达到如下基本要求:
1、掌握的基本情况和基本使用方法。
2、掌握中各级基本数据库对象的管理,包括
(1)数据库的创建和各种基本管理操作。
(2)数据表格的创建和各种基本管理操作。
(3)表格数据的编辑和维护。
(4)表格数据的各种查询操作。
(5)有关视图的操作。
3、熟悉中数据库完整性的实现。
4、了解中数据库安全性的实现。
5、熟悉中数据库的备份和恢复。
三、主要仪器设备
本实验课程要求的主要仪器设备是计算机。
四、实验方式与基本要求
本实验课程以学生实际上机操作为主,教师在课堂教学时进行演示。
五、考核与报告
因为本实验课程是非独立设课,故其考核方式与相关课程一样,采用考试的考核方式。
实验教学部分的成绩在课程总成绩中占一定的比例。
六、实验项目设置与内容
序号
实验名称
内容摘要
实验学时
每组人数
实验属性
实验者类别
开出要求
1
熟悉MySQL5的安装、使用环境
了解MySQL5的界面环境;熟悉服务管理器、企业管理器和查询分析器的使用方法
2
1
验证
本科
必做
2
数据库的创建和管理
创建一个数据库;并对其进行基本的管理操作
2
1
验证
本科
必做
3
表的创建和操作
创建若干个数据表格;并对它们进行基本的管理操作
2
1
验证
本科
必做
4
表格数据的基本查询操作
对表格数据进行简单的查询操作
2
1
设计
本科
必做
5
表格数据的编辑和维护
对表格数据进行插入、删除和修改操作
1
1
验证
本科
必做
6
视图管理
创建视图;对视图进行基本的管理操作
1
1
设计
本科
必做
7
数据类型的使用
掌握使用Navicat和Transact-SQL语言两种方法创建、修改和删除表,掌握管理表的有关系统存储过程
1
1
设计
本科
必做
8
表格数据的高级查询操作
多表连接查询;统计查询;嵌套查询等
2
1
设计
本科
必做
9
数据库完整性的实现
实现关系型数据库的完整性
2
1
验证
本科
必做
10
数据库安全性的实现
实现数据库的安全性
1
1
验证
本科
必做
11
数据库的备份和恢复
实现数据库的备份和恢复
1
1
验证
本科
必做
12
综合试验
2
3
设计
本科
必做
实验一熟悉MySQL的安装、使用环境及其基本工具的使用
实验学时:
学时
实验类型:
验证
实验要求:
必做
一、实验目的
熟悉MySQL的安装和用法环境。
掌握MySQL管理工具Navicat的使用。
了解在Navicat中执行SQL语句的方法。
了解数据库及数据库对象。
熟悉服务器的管理与使用。
二、实验内容
序1:
完全卸载MySQL
本次实验使用Windows732位操作系统,部分机器可能已经安装了mysql。
由于版本不同,配置未知,需要将已有的MySQL完全卸载,再统一安装。
步骤:
1停止MySQL服务。
右键点击“计算机—选择“管理”,在弹出的对话框中选择“服务和应用程序”—“服务”,在打开的本地服务中,选择名为“MySQL”的服务,单击右键,选择“停止”如图所示:
图14
2卸载MySQL。
通过控制面板删除MySQLServer,如图所示:
图15
3删除残留的安装文件。
删除安装路径(默认为“C:
\ProgramFiles\MySQL”)下的文件夹MySQL。
4删除残留的服务配置文件。
删除路径“C:
\ProgramData\MySQL\MySQLServer\data”下的所有文件,也可直接删除MySQL文件夹(ProgramData为隐藏文件夹,需要在“工具”—“文件夹选项”—“查看”中勾选查看隐藏文件。
也可以直接通过搜索栏搜索)。
如图:
图15
序2:
MySQL安装说明
步骤:
①打开MySQL的安装包.msi—Next,在如图1所示的界面中选择Typical进行默认安装
图1
②安装完成之后,继续进入如图2所示的配置界面:
图2
③选择配置方式,“DetailedConfiguration(手动精确配置)”、“StandardConfiguration(标准配置)”,我们选择“DetailedConfiguration”,方便熟悉配置过程。
图3
④选择服务器类型,“DeveloperMachine(开发测试类,mysql占用很少资源)”、“ServerMachine(服务器类型,mysql占用较多资源)”、“DedicatedMySQLServerMachine(专门的数据库服务器,mysql占用所有可用资源)”,一般选“ServerMachine”,不会太少,也不会占满,实验所用则选择DeveloperMachine即可
图4
⑤选择mysql数据库的大致用途,“MultifunctionalDatabase(通用多功能型,好)”、“TransactionalDatabaseOnly(服务器类型,专注于事务处理,一般)”、“Non-TransactionalDatabaseOnly(非事务处理型,较简单,主要做一些监控、记数用,对MyISAM数据类型的支持仅限于non-transactional),我这里选择“MultifunctionalDatabase”,按“Next”继续。
图5
⑥对InnoDBTablespace进行配置,就是为InnoDB数据库文件选择一个存储空间,如果修改了,要记住位置,重装的时候要选择一样的地方,否则可能会造成数据库损坏,当然,对数据库做个备份就没问题了,这里不详述。
我这里没有修改,使用用默认位置,直接按“Next”继续。
图6
⑦选择一般mysql访问量,同时连接的数目,“DecisionSupport(DSS)/OLAP(20个左右)”、“OnlineTransactionProcessing(OLTP)(500个左右)”、“ManualSetting(手动设置,自己输一个数)”,我这里选“DecisionSupport(DSS)/OLAP”,按“Next”继续。
图7
⑧选择是否启用TCP/IP连接,设定端口,如果不启用,就只能在自己的机器上访问mysql数据库了,我这里启用,把前面的勾打上,PortNumber:
3306,在这个页面上,我们还可以选择“启用标准模式”(EnableStrictMode),这样MySQL就不会允许细小的语法错误。
熟悉MySQL以后,尽量使用标准模式,因为它可以降低有害数据进入数据库的可能性。
按“Next”继续。
图8
⑨选择编码。
这里我们选择默认的西文编码“Latin1”。
有需要可以选择第三项手动设置默认编码,如需要正常使用汉字则选择第三个,然后在CharacterSet那里选择或填入“gbk”,当然也可以用“gb2312”,区别就是gbk的字库容量大,包括了gb2312的所有汉字,并且加上了繁体字。
使用mysql的时候,在执行数据操作命令之前运行一次“SETNAMESGBK;”(运行一次就行了,GBK可以替换为其它值,视这里的设置而定),就可以正常的使用汉字了。
按“Next”继续。
图9
⑩选择是否将mysql安装为windows服务,还可以指定ServiceName(服务标识名称),是否将mysql的bin目录加入到WindowsPATH(加入后,就可以直接使用bin下的文件,而不用指出目录名,比如连接,“-uusername-ppassword;”就可以了,不用指出的完整地址,很方便),我们这里全部打上了勾,ServiceName不变。
按“Next”继续。
图10
这一步询问是否要修改默认root用户(超级管理)的密码(默认为空),“Newrootpassword”如果要修改,就在此填入新密码(如果是重装,并且之前已经设置了密码,在这里更改密码可能会出错,请留空,并将“ModifySecuritySettings”前面的勾去掉,安装配置完成后另行修改密码),“Confirm(再输一遍)”内再填一次,防止输错。
我们这里设置密码为“root”。
“Enablerootaccessfromremotemachines(是否允许root用户在其它的机器上登陆,如果要安全,就不要勾上,如果要方便,就勾上它)”。
最后“CreateAnAnonymousAccount(新建一个匿名用户,匿名用户可以连接数据库,不能操作数据,包括查询)”,一般就不用勾了,设置完毕,按“Next”继续。
图11
确认设置无误,如果有误,按“Back”返回检查。
按“Execute”使设置生效。
图12
设置完毕,按“Finish”结束mysql的安装与配置——这里有一个比较常见的错误,就是不能“Startservice”,一般出现在以前有安装mysql的服务器上,解决的办法,先保证以前安装的mysql服务器彻底卸载掉了;不行的话,检查是否按上面一步所说,之前的密码是否有修改,照上面的操作;如果依然不行,将mysql安装目录下的data文件夹备份,然后删除,在安装完成后,将安装生成的data文件夹删除,备份的data文件夹移回来,再重启mysql服务就可以了,这种情况下,可能需要将数据库检查一下,然后修复一次,防止数据出错。
序3:
Navicat配置
本次实验所使用的NavicatforMySQL为免安装版,解压即可使用。
可用“”中的激活码激活。
1、打开MySQL服务。
①右键点击“我的电脑—选择“管理”,在弹出的对话框中选择“服务和应用程序”—“服务”,如图所示:
图
②在打开的本地服务中,选择名为“MySQL”的服务,单击右键,选择“开启”(也可以在“属性”中设置为随系统的启动而自动启动),如图所示:
图
③在“开始”菜单—所有程序中找到MySQL,点击“MySQLCommandLineClient”,将出现如图所示的窗口:
图
④实验所用的MySQL已事先配置好,用户名、密码均为“root”。
因此直接输入“root”并回车,若出现如图所示结果,说明MysQL服务已正常启动并且可以通过该窗口用相应语句进行操作:
图
2、学习使用MySQL管理工具Navicat的基本操作,建立连接MySQL并在它左边的树型结构中查看数据库,观察该数据库中的所有数据库对象,如表、视图、存储过程、默认、规则等,学习查询的创建、连接的关闭和删除。
①新建连接MySQL。
打开Navicat,进入主界面后点击“连接”,在弹出的对话框中输入连接名“MySQL”,用户名和密码均为“root”,输入之后点击“确定”(可事先点击“连接测试”),如图所示:
图
②打开连接MySQL,查看默认生成的数据库、表。
右键单击新建的连接MySQL,选择“打开连接”,可以看到默认生成的四个数据库,以数据库“mysql”为例,点击打开,如图所示。
以数据库“mysql”中的表“help_category”为例,点击打开,如图所示.
图
图
③新建查询。
打开数据库“mysql”,点击Navicat主界面上方的“查询”,选择“新建查询”,在弹出的查询编辑器中输入如下语句:
USEmysql;
SELECT*FROMhelp_category;
点击上方的“运行”操作及结果如图所示:
图
④关闭、删除连接。
右键点击连接“MySQL”选择“关闭连接”。
同样的操作选择“删除连接”,结果如图所示:
图
3、学习在Navicat下用户的管理,包括新建、编辑、删除。
①新建用户。
打开连接“MySQL”,点击Navicat主界面上方的“用户”,在弹出的对话框中填写如下内容:
用户名“NewUser”、主机“localhost”、密码“1234”并再次确认,将“服务器权限”全部勾选,点击“保存”。
如图所示:
图
使用新建的用户创建一个新的连接“NewSQL”,操作如图所示:
出现如图所示结果,说明用户创建成功。
图
②编辑用户。
点击用户“NewUser@localhost”,再选择“编辑用户”,修改相关信息后点击保存,同样以新建连接的方法检验。
如图所示:
图
③删除用户。
选择修改后的用户,点击“删除用户”,选择“确定”,如图所示:
图
三、课后练习题
1、分别通过Navicat主界面和在查询编辑器中新建查询查看MySQL数据库中information_schema、performance_schema两个表的所有数据。
2、新建一个的用户NewUser并用它创建一个新的连接NewSQL,执行练习题1中的操作。
实验二数据库的创建和管理
实验学时:
学时
实验类型:
验证
实验要求:
必做
一、实验目的
熟练掌握使用Navicat和Transact-SQL语言两种方法创建、修改和删除数据库。
学习在Navicat中进行数据库的转储和导入。
掌握管理数据库的有关系统存储过程。
二、实验内容
1、利用Navicat创建满足以下要求的数据库:
1)数据库存在于连接MySQL中;
2)数据库名称为mydb;
3)字符集选择utf8--UTF-8Unicode;
4)排序规则选择utf8_general_ci
具体步骤如下:
新建连接“MySQL”—单击选择并右键—“新建数据库”—输入数据库名“mydb”、字符集“utf8--UTF-8Unicode”、排序规则“utf8_general_ci”—“确定”。
如图所示:
右键—数据库属性,可以看到如图所示结果:
图
2、利用Transact-SQL语言创建满足以下要求的数据库:
1)数据库存在于连接MySQL中;
2)数据库名称为mydb;
3)字符集选择utf8--UTF-8Unicode;
4)排序规则选择utf8_general_ci;
具体步骤如下:
点击“新建查询”,在查询编辑器输入以下代码,点击“运行”,完成后,左侧列表中选中连接“数MySQL”,点击“刷新”按钮,列表即可见到“testdb”。
如图、所示:
CREATEDATABASEtestdbDEFAULTCHARACTERSETutf8COLLATEutf8_general_ci;
图
图
3、利用Transact-SQL语言查看数据库及表的信息。
①查看连接中的所有数据库
步骤:
点击“新建查询”,输入
SHOWDATABASES
后运行,结果如图所示:
图
②查看数据库mysql中所有的表
步骤:
点击“新建查询”,输入
USEmysql;
SHOWTABLES;
后运行,(也可以用语句showtablesfrommysql;)结果如图所示:
图
③查看数据库“mysql”中表“help_keyword”的结构。
步骤:
点击“新建查询”,输入
USEmysql;
DESChelp_keyword;
后运行,(也可以用语句showtablesfrommysql;)结果如图所示:
图
4、利用Navicat修改数据库mydb,修改其排序方式为utf8_bin。
步骤:
右键单击数据库“mydb”—数据库属性,在排序方式中选择“utf8_bin”—“确定”。
5、利用Transact-SQL语言修改数据库mydb的字符集为Latin1;
步骤:
点击“新建查询”,输入以下代码,点击运行
ALTERDATABASEmydbDEFAULTCHARACTERSET=latin1;
如图所示:
图
关闭数据库“mydb”后重新打开,查看数据库属性,可以看到如图所示结果:
图
6、利用Navicat删除数据库mydb。
直接右键点击mydb选择删除即可,注意要关闭当前的SQL语句编写界面。
7、利用Transact-SQL语言删除数据库testdb。
步骤:
点击“新建查询”,输入DROPDATABASEtestdb后运行。
刷新连接“MySQL”,查看结果。
8、转储MySQL数据库。
步骤:
打开连接“MySQL”—右键单击数据库“mysql”—选择“转储
SQL文件”—将文件名改为“”后保存在桌面,如图所示:
图
成功后将出现如图所示情况:
图
9、导入MySQL数据库。
①在连接“MySQL”中新建数据库“sql”(字符集与排序方式尽量一致)。
②打开数据库“sql”—右键单击—运行SQL文件—选择桌面的“”文件—点击“确定”。
如图所示:
图
③执行结果如图所示则表示成功。
关闭数据库sql后重新打开,对比数据库“sql”与最初的数据库“mysql”,看是否完全相同。
图
三、课后练习题
1、分别用以下几种语句查看数据库“mysql”中任意表的结构或数据(先输入:
“USEmysql;”):
①SHOWCOLUMNSFROM表名;
②DESCRIBE表名;
③DESC表名
④SELECT*FROM表名
2、思考以下问题:
1)mysql中utf8编码的utf8_bin,utf8_general_cs,utf8_general_cs三者的区别。
2)不同编码方式的数据库之间进行转储和导入会不会出现错误。
实验三表的创建和管理
实验学时:
学时
实验类型:
验证
实验要求:
必做
一、实验目的
熟练掌握使用Navicat和Transact-SQL语言两种方法创建、修改和删除表。
掌握管理表的有关系统存储过程。
二、实验内容
1、利用Navicat创建满足以下要求的数据库:
①数据库存在于连接MySQL中;②数据库名称为xsgl;③字符集选择utf8--UTF-8Unicode;排序规则选择utf8_general_ci。
2、在数据库xsgl中,利用Navicat创建以下表格:
1)表格名为xs(学生基本情况表);
2)表格中各个属性的定义如下:
列名
含义
数据类型
长度
能否取空值
备注
xh
学号
int
no
主码
xm
姓名
char
8
yes
xb
性别
char
2
yes
nl
年龄
tinyint
yes
zy
专业
char
16
yes
jtzz
家庭住址
char
50
yes
具体步骤如下:
打开新建的数据库“xsgl”–右键点击“表”--“新建表”。
按照上表内容输入个属性的定义,填写“列名”、“数据类型”,并取消或选择“允许NULL值”前的选项,并右键点击“xh”,选择将其设为主键,如图所示:
图
点击“保存”,输入表名:
xs。
结果如图所示:
图
3、按照以下步骤向表格xs中添加如下记录:
xh
(学号)
xm
(姓名)
xb
(性别)
nl
(年龄)
zy
(专业)
jtzz
(家庭住址)
庄小燕
女
24
计算机
上海市中山北路12号
洪波
男
25
计算机
青岛市解放路105号
肖辉
男
23
计算机
杭州市凤起路111号
柳嫣红
女
22
计算机
上海市邯郸路1066号
张正正
男
20
应用数学
上海市延安路123号
李丽
女
21
应用数学
杭州市解放路56号
1)打开Navicat;
2)打开连接MySQL找到数据库xsgl中的表格xs;
3)在表格xs上右击鼠标,选择“打开表”;
4)在接着出现的记录录入界面上添加记录。
(方向键下增加新纪录)
添加完后如图所示:
4、向表xs中增加“入学时间”属性列,其列名为rxsj,数据类型为datetime型。
步骤:
右键单击xs表—设计表—加入列rxsj,设置数据类型为datetime。
如图所示:
图
5、将表xs中nl(年龄)列的数据类型改为int型。
步骤:
与第4项类似
6、在数据库xsgl中,利用Transact-SQL语言创建以下表格:
1)表格名为kc(课程情况表);
2)表格中各个属性的定义如下:
列名
含义
数据类型
长度
能否取空值
备注
kch
课程号
char
4
no
主码
kcm
课程名
char
20
yes
xss
学时数
int
yes
xf
学分
int
yes
步骤:
点击“新建查询”,输入以下代码,点击运行
USExsgl;
createtablekc
(
kchchar(4)notnull,
kcmchar(20)null,
xssintnull,
xfintnull,
primarykey(kch)
)engine=innodbdefaultcharset=utf8auto_increment=1;
命令成功完成后,在“xggl”数据库中右键点击“表”,选择“刷新”,结果如图所示:
7、利用Transact-SQL语言修改kc表。
①增加“成绩”一列cj,int型,允许为空值,默认为0。
步骤:
点击“新建查询”,输入以下代码,点击运行
ALTERTABLEkcADDCOLUMNcjINTDEFAULT0;
②修改cj列的类型为char。
步骤:
点击“新建查询”,输入以下代码,点击运行
ALTERTABLEkcCHANGECOLUMNcjcjCHAR(4);
③修改cj列的列名为mark。
步骤:
点击“新建查询”,输入以下代码,点击运行
ALTERTABLEkcCHANGEcjmarkCHAR(4)DEFAULT0;
④删除mark列。
步骤:
点击“新建查询”,输入以下代码,点击运行
ALTERTABLEkcDROPCOLUMNmark;
7、利用Navicat和Transact-SQL语言两种方式删除表kc。
①步骤:
右键点击表“kc”,选择删除。
②步骤:
点击“新建查询”,输入以下代码,点击执行
DROPTABLEkc
8、利用Transact-SQL将表xs重命名为Students。
步骤:
点击“新建查询”,输入以下代码,点击执行
RE