《数据库原理及应用实验》
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数据库原理与应用实验》
实验报告册
学年第学期
学院:
专业:
年级:
姓名:
学号:
任课教师:
MySQL+Navicat安装步骤与下载地址百度地址:
配置与简单使用百度地址:
本文档所书写的代码,为本人纯手工敲打,并且通过软件测试成功,欢迎大家进行学习,如有错误,可联系本人
实验一创建和维护数据库
一、实验目的
(1)掌握在Windows 平台下安装与配置MySQL 的方法。(2)掌握启动服务并登录MySQL 数据库的方法和步骤。(3)掌握MySQL 数据库的相关概念。
(4)掌握使用Navicat 工具和SQL 语句创建数据库的方法。
(5)掌握使用Navicat 工具和SQL 语句删除数据库的方法。
二、实验要求
(1)学生提前准备好实验报告,预习并熟悉实验步骤;(2)遵守实验室纪律,在规定的时间内完成要求的内容;三、实验内容及步骤
(1)在Windows 平台下安装与配置MySQL 版。
(2)在服务对话框中,手动启动或者关闭MySQL 服务。(3)使用Net 命令启动或关闭MySQL 服务。
(4)分别用Navicat 工具和命令行方式登录MySQL。
(5)在文件中将数据库的存储位置改为D:\MYSQL\DATA。
(6)创建数据库。
①使用Navicat 创建学生信息管理数据库gradem。
②使用SQL 语句创建数据库MyDB。
(7)删除数据库。
①使用Navicat 图形工具删除gradem 数据库。
②使用SQL 语句删除MyDB 数据库。
常见的数据库产品有哪些
五、实验总结
1、收获
2、存在的问题
实验二管理表
一、实验目的
(1) 掌握表的基础知识。
(2) 掌握使用Navicat管理工具和SQL语句创建表的方法。
(3) 掌握表的修改、查看、删除等基本操作方法。
二、实验要求
(1)学生提前准备好实验报告,预习并熟悉实验步骤;
(2)遵守实验室纪律,在规定的时间内完成要求的内容;
三、实验内容及步骤
(1)在gradem数据库中创建表~表所示结构的表。
表 student表的表结构
表 course表(课程名称表)的表结构
表 sc表(成绩表)的表结构
表 teaching表(授课表)的表结构
(2) 向表至表输入数据记录,见表~表。
表课程关系表course
表成绩表sc
表教师表teacher
表授课表teaching
(3)在navicat下修改表结构。
①向student表中增加“入学时间”列,其数据类型为日期时间型。
②将student表中的sdept字段长度改为20。
③将student表中的speciality字段删除。
④删除student表。
(4) 利用SQL命令(create 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,BETWEEN…AND和NOT BETWEEN…AND来缩小查询范围的方法。
(4) 利用LIKE子句实现字符串匹配查询。
二、实验要求
1、学生提前准备好实验报告,预习并熟悉实验步骤;
2、遵守实验室纪律,在规定的时间内完成要求的内容;
三、实验内容及步骤
在上次实验建立的Gradem或Gradem1数据库中完成下面查询:
(1) 查询所有学生的基本信息、所有课程的基本信息和所有学生的成绩信息(用三条SQL语句)。SELECT *
FROM student;
SELECT *
FROM course;
SELECT *
FROM sc;
(2) 查询所有学生的学号、姓名、性别和出生日期。
SELECT sno,sname,ssex,sbirthday
FROM student;
(3) 查询所有课程的课程名称。
SELECT cname
FROM course
(4) 查询前10门课程的课号及课程名称。
SELECT cno,cname
FROM course
WHERE cno<=10
(5) 查询所有学生的姓名及年龄。
SELECT sname ,year(now())-year(sbirthday)
FROM student;
(6) 查询所有年龄大于18岁的女生的学号和姓名。
SELECT sno,sname
FROM student
WHERE ssex='女'and year(now())-year(sbirthday)>18
(7) 查询所有男生的信息。
SELECT *
FROM student,teacher
WHERE ssex='男'and tsex='男'
(8) 查询所有任课教师的姓名(Tname)和所在系别(Tdept)。SELECT tname,tdept
FROM teacher
(9) 查询“电子商务”专业的学生姓名、性别和出生日期。SELECT sname,ssex,sbirthday
FROM student
WHERE sdept='电子商务'
(10) 查询Student表中的所有系名。
SELECT sdept
FROM student
(11) 查询“C01”课程的开课学期。
SELECT cterm
FROM teaching
WHERE cno='c01'
(12) 查询成绩在80~90分之间的学生学号及课号。
SELECT sno,cno
FROM sc
WHERE degree BETWEEN 80 and 90