数据库原理及应用实验报告实验课程:数据库原理及应用学号:2012044543003学生姓名:陈洪波班级:12通信工程1班2015年4月22日学院实验报告学号:姓名:班级:同组者:课程名称:数据库原理及应用指导老师:实验成绩:2实验一创建和维护数据库一、实验目的(1)掌握在Windows平台下安装与配置MySQL5.5的方法。(2)掌握启动服务并登录MySQL5.5数据库的方法和步骤。(3)了解手工配置MySQL5.5的方法。(4)掌握MySQL数据库的相关概念。(5)掌握使用Navicat工具和SQL语句创建数据库的方法。(6)掌握使用Navicat工具和SQL语句删除数据库的方法。二、实验要求(1)学生提前准备好实验报告,预习并熟悉实验步骤;(2)遵守实验室纪律,在规定的时间内完成要求的内容;(3)1~2人为1小组,实验过程中独立操作、相互学习。三、实验内容及步骤(1)在Windows平台下安装与配置MySQL5.5.36版。进入到下载页面,没看到5.5.36的版本,就选择了32位的5.5.43版本的来安装(2)在服务对话框中,手动启动或者关闭MySQL服务。(3)使用Net命令启动或关闭MySQL服务。(4)分别用Navicat工具和命令行方式登录MySQL。学院实验报告学号:姓名:班级:同组者:课程名称:数据库原理及应用指导老师:实验成绩:3①下面用Nacicat工具登录Mysql,连接测试成功的页面如下:登录成功的页面截图如下:②运用行命令方式登录成功的页面如下:(5)在my.ini文件中将数据库的存储位置改为D:\MYSQL\DATA。学院实验报告学号:姓名:班级:同组者:课程名称:数据库原理及应用指导老师:实验成绩:4步骤总共有四步:①停止Mysql服务②打开MySQL默认的安装文件夹C:\ProgramFiles\MySQL\MySQLServer5.1中的my.ini文件,点击记事本顶部的“编辑”,“查找”,在查找内容中输入datadir后并点击“查找下一个”转到“Pathtothedatabaseroot数据库存储主路径”参数设置,找到datadir=C:/DocumentsandSettings/AllUsers/ApplicationData/MySQL/MySQLServer5.1/Data/即是默认的数据库存储主路径设置,现将它改到D:\MYSQL\DATA即可,正确的设置是datadir=D:\MYSQL\DATA。③将老的数据库存储主路径中的数据库文件和文件夹复制到新的存储主路径④重新启动MYSQL服务,这样子数据库的存储路径就完成了。(6)创建数据库。①使用Navicat创建学生信息管理数据库gradem。②使用SQL语句创建数据库MyDB。语句截图如下:(7)查看数据库属性。①在Navicat中查看创建后的gradem数据库和MyDB数据库的状态,查看数据库所在的文件夹。学院实验报告学号:姓名:班级:同组者:课程名称:数据库原理及应用指导老师:实验成绩:5②利用SHOWDATABASES命令显示当前的所有数据库。(8)删除数据库。①使用Navicat图形工具删除gradem数据库。②使用SQL语句删除MyDB数据库。③利用SHOWDATABASES命令显示当前的所有数据库。(9)使用配置向导修改当前密码,并使用新密码重新登录。(10)配置Path变量,确保MySQL的相关路径包含在Path变量中。学院实验报告学号:姓名:班级:同组者:课程名称:数据库原理及应用指导老师:实验成绩:6四、思考题MySQL的数据库文件有几种?扩展名分别是什么?答:一个格式文件---.frm,一个数据文件---.isd,一个索引文件---.isd。五、实验总结1、收获答:(1)在这次的实验过程中学习到了Mysql的安装过程和基本的配置,基本了解了用图形化工具Navicat和用SQL语言来删除以及创建数据库的方法。(2)熟练掌握了数据库启动的步骤和方法,通过查阅资料深刻认识到了数据库的强大功能,易于管理的特点对人们平时工作处理一些数据表格的帮助非常巨大。2、存在的问题答:还不能熟练地记住一些SQL语句,接下来得在这一方面下多点功夫。学院实验报告学号:姓名:班级:同组者:课程名称:数据库原理及应用指导老师:实验成绩:7实验二管理表一、实验目的(1)掌握表的基础知识。(2)掌握使用Navicat管理工具和SQL语句创建表的方法。(3)掌握表的修改、查看、删除等基本操作方法。二、实验要求(1)学生提前准备好实验报告,预习并熟悉实验步骤;(2)遵守实验室纪律,在规定的时间内完成要求的内容;(3)1~2人为1小组,实验过程中独立操作、相互学习。三、实验内容及步骤(1)在gradem数据库中创建表4.18~表4.22所示结构的表。表4.18student表的表结构字段名称数据类型长度小数位数是否允许NULL值说明snochar10否主码snamevarchar8是ssexchar2是sbirthdaydatetime是saddressvarchar50是sdeptchar16是specialityvarchar20是表4.19course表(课程名称表)的表结构学院实验报告学号:姓名:班级:同组者:课程名称:数据库原理及应用指导老师:实验成绩:8字段名称数据类型长度小数位数是否允许NULL值说明cnochar5否主码cnamevarchar20否表4.20sc表(成绩表)的表结构字段名称数据类型长度小数位数是否允许NULL值说明snochar10否组合主码、外码cnochar5否组合主码、外码degreedecimal41是1~100表4.21teacher表(教师表)的表结构字段名称数据类型长度小数位数是否允许NULL值说明tnochar3否主码tnamevarchar8是tsexchar2是tbirthdaydate是tdeptchar16是表4.22teaching表(授课表)的表结构学院实验报告学号:姓名:班级:同组者:课程名称:数据库原理及应用指导老师:实验成绩:9字段名称数据类型长度小数位数是否允许NULL值说明cnochar5否组合主码、外码tnochar3否组合主码、外码ctermtinyint10是1~10(2)向表4.18至表4.22输入数据记录,见表4.23~表4.27。表4.23学生关系表studentsnosnamessexsbirthdaysaddresssdeptspeciality20050101李勇男1987-01-12山东济南计算机工程系计算机应用20050201刘晨女1988-06-04山东青岛信息工程系电子商务20050301王敏女1989-12-23江苏苏州数学系数学20050202张立男1988-08-25河北唐山信息工程系电子商务表4.24课程关系表coursecnocnamecnocname学院实验报告学号:姓名:班级:同组者:课程名称:数据库原理及应用指导老师:实验成绩:10C01数据库C03信息系统C02数学C04操作系统表4.25成绩表scsnocnodegree20050101C019220050101C028520050101C038820050201C029020050201C0380表4.26教师表teachertnotnametsextbirthdaytdept101李新男1977-01-12计算机工程系102钱军女1968-06-04计算机工程系201王小花女1979-12-23信息工程系202张小青男1968-08-25信息工程系表4.27授课表teachingcnotnoctermC011012学院实验报告学号:姓名:班级:同组者:课程名称:数据库原理及应用指导老师:实验成绩:11C021021C032013C042024(3)修改表结构。①向student表中增加“入学时间”列,其数据类型为日期时间型。直接添加一个栏位,然后再进行相应的参数约束。②将student表中的sdept字段长度改为20。直接在navicat的设计表里面改再保存就可以了。③将student表中的speciality字段删除。直接在图形工具里面删除整个栏位再保存就可以了④删除student表。(4)利用SQL命令(createtable、altertable、droptable)完成对表的操作①利用createtalbe命令完成student表和course表的定义。Student表的定义如下:UsegrademCreattablestudent(snochar(10)primarykey,Snamechar(8),Ssexchar(2),sbirthday,学院实验报告学号:姓名:班级:同组者:课程名称:数据库原理及应用指导老师:实验成绩:12Saddresschar(50),Sdeptchar(16),Speciaityvarchar(20));Course表格的定义代码如下;UsegrademCreattablecourse(cnochar(5)primarykey,cnamechar(20));②利用droptable命令实现(3)中的④。Droptablestudent;四、思考题(1)MySQL中的数据库文件有几种?扩展名分别是什么?答:数据库文件--.mdf,次数据文件--.ndf,日志文件--.ldf(2)在定义基本表语句时,NOTNULL参数的作用是什么?答:设置列的分量不为空值(3)主码可以建立在“值可以为NULL”的列上吗?答:不行。五、实验总结:1、收获答:学会了在图形工具navicat里面建立表格跟输入数据的基本操作,在命令窗口会使用SQL语句查询已建好的表格的各种信息。2、存在的问题学院实验报告学号:姓名:班级:同组者:课程名称:数据库原理及应用指导老师:实验成绩:13实验三简单查询——单表无条件和有条件查询一、实验目的(1)掌握SELECT语句的基本用法。(2)使用WHERE子句进行有条件的查询。(3)掌握使用IN和NOTIN,BETWEEN…AND和NOTBETWEEN…AND来缩小查询范围的方法。(4)利用LIKE子句实现字符串匹配查询。二、实验要求1、学生提前准备好实验报告,预习并熟悉实验步骤;2、遵守实验室纪律,在规定的时间内完成要求的内容;3、1~2人为1小组,实验过程中独立操作、相互学习。三、实验内容及步骤在上次实验建立的Gradem或Gradem1数据库中完成下面查询:(1)查询所有学生的基本信息、所有课程的基本信息和所有学生的成绩信息(用三条SQL语句)。学生的基本信息:select*fromstudent;所有课程的基本信息:select*fromcourse;所有学生的成绩信息:selectdegreefromstudent;(2)查询所有学生的学号、姓名、性别和出生日期。Selectsno,sname,sbirthdayfromstudent;(3)查询所有课程的课程名称。Selectcnamefromcourse;学院实验报告学号:姓名:班级:同组者:课程名称:数据库原理及应用指导老师:实验成绩:14(4)查询前10门课程的课号及课程名称。Selectcno,cnamefromstudentlimit10;(5)查询所有学生的姓名及年龄。Selectsname,sagefromstudent;(6)查询所有年龄大于18岁的女生的学号和姓名。Selectsno,snamefromstudentWheresage18;(7)查询所有男生的信息。Select*fromstudentWheressex=’男’;(8)查询所有任课教师的姓名(Tname)和所在系别(Tdept)。Selecttname,tdeptfromteacher;(9)查询“电子商务”专业的学生姓名、性别和出生日期。Selectsname,ssex,sbirthdayfromstudentWherespeciality=’电子商务’;(10)查询Stu