最新《数据库原理及应用实验》.doc
《最新《数据库原理及应用实验》.doc》由会员分享,可在线阅读,更多相关《最新《数据库原理及应用实验》.doc(29页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、精品资料数据库原理及应用实验.数据库原理与应用实验实验报告册 学年 第 学期学 院:专 业:年 级:姓 名:学 号:任课教师:MySQL+Navicat安装步骤与下载地址 百度地址:Navicat配置与简单使用 百度地址:本文档所书写的代码,为本人纯手工敲打,并且通过软件测试成功,欢迎大家进行学习,如有错误,可联系本人邮箱2960223883实验一 创建和维护数据库一、实验目的(1)掌握在Windows 平台下安装与配置MySQL 5.5 的方法。(2)掌握启动服务并登录MySQL 5.5 数据库的方法和步骤。(3)掌握MySQL 数据库的相关概念。(4)掌握使用Navicat 工具和SQL
2、语句创建数据库的方法。(5)掌握使用Navicat 工具和SQL 语句删除数据库的方法。二、实验要求(1)学生提前准备好实验报告,预习并熟悉实验步骤;(2)遵守实验室纪律,在规定的时间内完成要求的内容;三、实验内容及步骤(1)在Windows 平台下安装与配置MySQL 5.5.36 版。(2)在服务对话框中,手动启动或者关闭MySQL 服务。(3)使用Net 命令启动或关闭MySQL 服务。(4)分别用Navicat 工具和命令行方式登录MySQL。(5)在my.ini 文件中将数据库的存储位置改为D:MYSQLDATA。(6)创建数据库。 使用Navicat 创建学生信息管理数据库grad
3、em。 使用SQL 语句创建数据库MyDB。(7)删除数据库。 使用Navicat 图形工具删除gradem 数据库。 使用SQL 语句删除MyDB 数据库。四、思考题常见的数据库产品有哪些?五、实验总结1、收获2、存在的问题实验二 管理表一、实验目的(1) 掌握表的基础知识。(2) 掌握使用Navicat管理工具和SQL语句创建表的方法。(3) 掌握表的修改、查看、删除等基本操作方法。二、实验要求(1)学生提前准备好实验报告,预习并熟悉实验步骤;(2)遵守实验室纪律,在规定的时间内完成要求的内容;三、实验内容及步骤(1)在gradem数据库中创建表2.1表2.5所示结构的表。表2.1 stu
4、dent表的表结构字段名称数据类型长度小数位数是否允许NULL值说明snochar10否主码snamevarchar8是ssexchar2是sbirthdaydatetime是saddressvarchar50是sdeptchar16是specialityvarchar20是表2.2 course表(课程名称表)的表结构字段名称数据类型长度小数位数是否允许NULL值说明cnochar5否主码cnamevarchar20否表2.3 sc表(成绩表)的表结构字段名称数据类型长度小数位数是否允许NULL值说明snochar10否组合主码、外码cnochar5否组合主码、外码degreedecimal
5、41是1100表2.4 teacher表(教师表)的表结构字段名称数据类型长度小数位数是否允许NULL值说明tnochar3否主码tnamevarchar8是tsexchar2是tbirthdaydate是tdeptchar16是表2.5 teaching表(授课表)的表结构字段名称数据类型长度小数位数是否允许NULL值说明cnochar5否组合主码、外码tnochar3否组合主码、外码ctermtinyint10是110(2) 向表2.1至表2.5输入数据记录,见表2.6表2.10。表2.6 学生关系表studentsnosnamessexsbirthdaysaddresssdeptspec
6、iality20050101李勇男1987-01-12山东济南计算机工程系计算机应用20050201刘晨女1988-06-04山东青岛信息工程系电子商务20050301王敏女1989-12-23江苏苏州数学系数学20050202张立男1988-08-25河北唐山信息工程系电子商务表2.7 课程关系表coursecnocnamecnocnameC01数据库C03信息系统C02数学C04操作系统表2.8 成绩表scsnocnodegree20050101C019220050101C028520050101C038820050201C029020050201C0380表2.9 教师表teachert
7、notnametsextbirthdaytdept101李新男1977-01-12计算机工程系102钱军女1968-06-04计算机工程系201王小花女1979-12-23信息工程系202张小青男1968-08-25信息工程系表2.10 授课表teachingcnotnoctermC011012C021021C032013C042024(3)在navicat下修改表结构。 向student表中增加“入学时间”列,其数据类型为日期时间型。 将student表中的sdept字段长度改为20。 将student表中的speciality字段删除。 删除student表。(4) 利用SQL命令(cre
8、ate table、alter table、drop table)完成对表的操作利用create talbe 命令完成student表和course表的定义。利用alter table、drop table命令实现(3)中的所有任务。四、思考题(1) 在定义基本表语句时,NOT NULL参数的作用是什么?(2) 主码可以建立在“值可以为NULL”的列上吗?五、实验总结:1、收获2、存在的问题实验三 简单查询单表无条件和有条件查询一、实验目的(1) 掌握SELECT语句的基本用法。(2) 使用WHERE子句进行有条件的查询。(3) 掌握使用IN和NOT IN,BETWEENAND和NOT BET
9、WEENAND来缩小查询范围的方法。(4) 利用LIKE子句实现字符串匹配查询。二、实验要求1、学生提前准备好实验报告,预习并熟悉实验步骤;2、遵守实验室纪律,在规定的时间内完成要求的内容;三、实验内容及步骤在上次实验建立的Gradem或Gradem1数据库中完成下面查询:(1) 查询所有学生的基本信息、所有课程的基本信息和所有学生的成绩信息(用三条SQL语句)。SELECT *FROM student;SELECT *FROM course;SELECT *FROM sc;(2) 查询所有学生的学号、姓名、性别和出生日期。SELECT sno,sname,ssex,sbirthdayFROM
10、 student;(3) 查询所有课程的课程名称。SELECT cnameFROM course(4) 查询前10门课程的课号及课程名称。SELECT cno,cnameFROM courseWHERE cno18(7) 查询所有男生的信息。SELECT *FROM student,teacherWHERE ssex=男and tsex=男(8) 查询所有任课教师的姓名(Tname)和所在系别(Tdept)。SELECT tname,tdeptFROM teacher(9) 查询“电子商务”专业的学生姓名、性别和出生日期。SELECT sname,ssex,sbirthdayFROM stud
11、entWHERE sdept=电子商务(10) 查询Student表中的所有系名。SELECT sdeptFROM student(11) 查询“C01”课程的开课学期。SELECT ctermFROM teachingWHERE cno=c01(12) 查询成绩在8090分之间的学生学号及课号。SELECT sno,cnoFROM scWHERE degree BETWEEN 80 and 90(13) 查询在1970年1月1日之前出生的男教师信息。SELECT *FROM teacherWHERE tbirthday3(8) 查询成绩不及格的学生学号及课号,并按成绩降序排列。SELECT
12、sno,cnoFROM scWHERE degree1(10) 统计输出各系学生的人数SELECT sdept ,COUNT(*)FROM studentGROUP BY sdept(11) 统计各系的男、女生人数。(两条命令)Select sdept,ssex,count(*)From studentGroup by sdept ,ssex(12) 统计籍贯的男、女生人数。(两条命令)Select saddress,ssex,count(*)From studentGroup by saddress ,ssex(13) 统计各系的老师人数,并按人数升序排序。SELECT tdept ,COU
13、NT(*)FROM teacherGROUP BY tdeptORDER BY COUNT(*) DESC(14) 统计不及格人数超过10人的课程号。SELECT cnoFROM scGROUP BY cnoHAVING COUNT(degree10(15)统计选修人数超过10人的课程号。SELECT cnoFROM scGROUP BY cnoHAVING COUNT(*)10(16) 查询软件系的男生信息,查询结果按出生日期升序排序,出生日期相同的按地址降序排序。SELECT *FROM studentWHERE ssex=男 and sdept=信息工程系ORDER BY sbirthd
14、ay,saddress DESC四、思考题(1) 聚集函数能否直接使用在SELECT子句、HAVING子句、WHERE子句、GROUP BY子句中? (2) WHERE子句与HAVING子句有何不同?五、实验总结:1、收获2、存在的问题实验五 多表查询一、实验目的(1) 掌握SELECT语句在多表查询中的应用。(2) 掌握多表连接的几种连接方式及应用。二、实验要求1、学生提前准备好实验报告,预习并熟悉实验步骤;2、遵守实验室纪律,在规定的时间内完成要求的内容;三、实验内容及步骤:在Gradem或Gradem1数据库中完成下面查询:(1) 查询计算机工程系女学生的学生学号、姓名及考试成绩。SEL
15、ECT student.sno,sname,sc.degreeFROM student,scWHERE student.sno=sc.sno and student.sdept=计算机工程系 and student.ssex=女;(2) 查询“李勇”同学所选课程的成绩。(不考虑重名)SELECT sc.degreeFROM student,scWHERE student.sno=sc.sno and student.sname=李勇(3) 查询“李新”老师所授课程的课程名称。SELECT ameFROM teacher,teaching,courseWHERE teacher.tno=teac
16、hing.tno and o=o and teacher.tname=李新(4) 查询女教师所授课程的课程号及课程名称。SELECT ame,oFROM teacher,teaching,courseWHERE teacher.tno=teaching.tno and o=o and teacher.tsex=女(5) 查询至少选修一门课程的女学生姓名。SELECT student.snameFROM student,scWHERE student.sno=sc.sno AND student.ssex=女GROUP BY student.snoHAVING COUNT(o)1(6) 查询姓“
17、王”的学生所学的课程名称。SELECT ameFROM student,sc,courseWHERE student.sno=sc.sno AND o=o AND sname=王%(7) 查询选修“数据库”课程且成绩在8090分之间的学生学号及成绩。SELECT sc.degree,student.snoFROM student,sc,courseWHERE student.sno=sc.sno AND o=o AND cname=数据库 AND degree BETWEEN 80 AND 90(8) 查询课程成绩及格的男同学的学生信息及课程号与成绩。SELECT student.*,o,sc
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库原理及应用实验 最新 数据库 原理 应用 实验
限制150内