2022年《数据库原理及应用》实验报告 2.pdf

上传人:C****o 文档编号:39728934 上传时间:2022-09-07 格式:PDF 页数:34 大小:343.16KB
返回 下载 相关 举报
2022年《数据库原理及应用》实验报告 2.pdf_第1页
第1页 / 共34页
2022年《数据库原理及应用》实验报告 2.pdf_第2页
第2页 / 共34页
点击查看更多>>
资源描述

《2022年《数据库原理及应用》实验报告 2.pdf》由会员分享,可在线阅读,更多相关《2022年《数据库原理及应用》实验报告 2.pdf(34页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、数据库原理及应用实验报告实验课程:数据库原理及应用学号:学生姓名:班级:2014 年月日名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 34 页 -实验一创建和维护数据库一、实验目的(1)掌握在Windows 平台下安装与配置MySQL 的方法。(2)掌握启动服务并登录MySQL 数据库的方法和步骤。(3)了解手工配置MySQL 的方法。(4)掌握 MySQL 数据库的相关概念。(5)掌握使用Navicat 工具和 SQL 语句创建数据库的方法。(6)掌握使用Navicat 工具和 SQL 语句删除数据库的方法。二、实验要求(1)学生提前准备好实验报告,预习并熟悉实验步骤;(2)

2、遵守实验室纪律,在规定的时间内完成要求的内容;(3)12 人为 1 小组,实验过程中独立操作、相互学习。三、实验内容及步骤(1)在 Windows 平台下安装与配置MySQL 版。(2)在服务对话框中,手动启动或者关闭MySQL 服务。(3)使用 Net 命令启动或关闭MySQL 服务。(4)分别用Navicat 工具和命令行方式登录MySQL。(5)在文件中将数据库的存储位置改为D:MYSQLDATA。(6)创建数据库。使用 Navicat 创建学生信息管理数据库gradem。使用 SQL 语句创建数据库MyDB。(7)查看数据库属性。在 Navicat 中查看创建后的gradem 数据库和

3、MyDB 数据库的状态,查看数据库所在的文件夹。利用 SHOW DATABASES 命令显示当前的所有数据库。(8)删除数据库。使用 Navicat 图形工具删除gradem 数据库。使用 SQL 语句删除MyDB 数据库。利用 SHOW DATABASES 命令显示当前的所有数据库。(9)使用配置向导修改当前密码,并使用新密码重新登录。(10)配置 Path 变量,确保MySQL 的相关路径包含在Path 变量中。四、思考题名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 34 页 -My SQL的数据库文件有几种扩展名分别是什么五、实验总结1、收获2、存在的问题名师资料总结-精

4、品资料欢迎下载-名师精心整理-第 3 页,共 34 页 -实验二管理表一、实验目的(1)掌握表的基础知识。(2)掌握使用Navicat 管理工具和SQL语句创建表的方法。(3)掌握表的修改、查看、删除等基本操作方法。二、实验要求(1)学生提前准备好实验报告,预习并熟悉实验步骤;(2)遵守实验室纪律,在规定的时间内完成要求的内容;(3)12 人为 1 小组,实验过程中独立操作、相互学习。三、实验内容及步骤(1)在 gradem 数据库中创建表表所示结构的表。表student 表的表结构字段名称数据类型长度小数位数是否允许NULL值说明snochar10否主码snamevarchar8是ssexc

5、har2是sbirthdaydatetime是saddressvarchar50是sdeptchar16是specialityvarchar20是表course 表(课程名称表)的表结构字段名称数据类型长度小数位数是否允许NULL值说明cnochar5否主码cnamevarchar20否表sc 表(成绩表)的表结构字段名称数据类型长度小数位数是否允许 NULL值说明snochar10否组合主码、外码cnochar5否组合主码、外码degreedecimal41是1100表teacher 表(教师表)的表结构字段名称数据类型长度小数位数是否允许 NULL值说明tnochar3否主码tnameva

6、rchar8是tsexchar2是名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 34 页 -tbirthdaydate是tdeptchar16是表teaching 表(授课表)的表结构字段名称数据类型长度小数位数是否允许 NULL值说明cnochar5否组合主码、外码tnochar3否组合主码、外码ctermtinyint10是110(2)向表至表输入数据记录,见表表。表学生关系表studentsnosnamessexsbirthdaysaddresssdeptspeciality李勇男1987-01-12山东济南计算机工程系计算机应用刘晨女1988-06-04山东青岛信息工程

7、系电子商务王敏女1989-12-23江苏苏州数学系数学张立男1988-08-25河北唐山信息工程系电子商务表课程关系表coursecnocnamecnocnameC01数据库C03信息系统C02数学C04操作系统表成绩表 scsnocnodegreeC0192C0285C0388C0290C0380表教师表 teachertnotnametsextbirthdaytdept101李新男1977-01-12计算机工程系102钱军女1968-06-04计算机工程系201王小花女1979-12-23信息工程系202张小青男1968-08-25信息工程系表授课表 teachingcnotnocterm

8、C011012名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 34 页 -C021021C032013C042024(3)修改表结构。向 student 表中增加“入学时间”列,其数据类型为日期时间型。将 student 表中的 sdept 字段长度改为20。将 student 表中的 speciality 字段删除。删除 student 表。(4)利用 SQL命令(create table、alter table、drop table)完成对表的操作利用 create talbe 命令完成 student 表和 course 表的定义。利用 drop table 命令实现(3)

9、中的。四、思考题(1)MySQL中的数据文件有几种扩展名分别是什么(2)在定义基本表语句时,NOT NULL参数的作用是什么(3)主码可以建立在“值可以为NULL”的列上吗五、实验总结:1、收获2、存在的问题名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 34 页 -实验三简单查询单表无条件和有条件查询一、实验目的(1)掌握 SELECT 语句的基本用法。(2)使用 WHERE子句进行有条件的查询。(3)掌握使用IN 和 NOT IN,BETWEEN AND 和 NOT BETWEEN AND 来缩小查询范围的方法。(4)利用 LIKE子句实现字符串匹配查询。二、实验要求1、学生

10、提前准备好实验报告,预习并熟悉实验步骤;2、遵守实验室纪律,在规定的时间内完成要求的内容;3、12 人为 1 小组,实验过程中独立操作、相互学习。三、实验内容及步骤在上次实验建立的Gradem 或 Gradem1 数据库中完成下面查询:(1)查询所有学生的基本信息、所有课程的基本信息和所有学生的成绩信息(用三条SQL语句)。(2)查询所有学生的学号、姓名、性别和出生日期。(3)查询所有课程的课程名称。(4)查询前 10 门课程的课号及课程名称。(5)查询所有学生的姓名及年龄。(6)查询所有年龄大于18 岁的女生的学号和姓名。(7)查询所有男生的信息。(8)查询所有任课教师的姓名(Tname)和

11、所在系别(Tdept)。(9)查询“电子商务”专业的学生姓名、性别和出生日期。(10)查询 Student 表中的所有系名。(11)查询“C01”课程的开课学期。名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 34 页 -(12)查询成绩在8090 分之间的学生学号及课号。(13)查询在 1970 年 1 月 1 日之前出生的男教师信息。(14)输出有成绩的学生学号。(15)查询所有姓“刘”的学生信息。(16)查询生源地不是山东省的学生信息。(17)查询成绩为79 分、89 分或 99 分的记录。(18)查询名字中第二个字是“小”字的男生的学生姓名和地址。(19)查询名称以“计算

12、机_”开头的课程名称。(20)查询计算机工程系和软件工程系的学生信息。四、思考题1、LIKE的通配符有哪些分别代表什么含义2、知道学生的出生日期,如何求出其年龄3、IS能用“=”来代替吗4、关键字 ALL和 DISTINCT 有什么不同的含义四、实验总结:1、收获名师资料总结-精品资料欢迎下载-名师精心整理-第 8 页,共 34 页 -2、存在的问题名师资料总结-精品资料欢迎下载-名师精心整理-第 9 页,共 34 页 -实验四简单查询分组与排序一、实验目的:(1)利用 GROUP BY 子句对查询结果分组。(2)利用 ORDER BY 子句对查询结果排序。(3)掌握聚集函数的使用方法。二、实

13、验要求1、学生提前准备好实验报告,预习并熟悉实验步骤;2、遵守实验室纪律,在规定的时间内完成要求的内容;3、12 人为 1 小组,实验过程中独立操作、相互学习。三、实验内容及步骤在 Gradem 或 Gradem1 数据库中完成下面查询:(1)统计有学生选修的课程的门数。(2)计算“c01”课程的平均成绩。(3)查询选修了“c03”课程的学生的学号及其成绩,查询结果按分数降序排列。(4)查询各个课程号及相应的选课人数。(5)统计每门课程的选课人数和最高分。(6)统计每个学生的选课门数和考试总成绩,并按选课门数降序排列。(7)查询选修了3 门以上课程的学生学号。(8)查询成绩不及格的学生学号及课

14、号,并按成绩降序排列。(9)查询至少选修一门课程的学生学号。(10)统计输出各系学生的人数(11)统计各系学生人数;各系的男、女生人数。(两条命令)名师资料总结-精品资料欢迎下载-名师精心整理-第 10 页,共 34 页 -(12)统计各班人数;各班男、女生人数。(两条命令)(13)统计各系的老师人数,并按人数升序排序。(14)统计不及格人数超过10 人的课程号。统计选修人数超过10 人的课程号。(15)查询软件系的男生信息,查询结果按出生日期升序排序,出生日期相同的按地址降序排序。三、思考题(1)聚集函数能否直接使用在SELECT 子句、HAVING子句、WHERE子句、GROUP BY 子

15、句中(2)WHERE子句与 HAVING子句有何不同四、实验总结:1、收获2、存在的问题名师资料总结-精品资料欢迎下载-名师精心整理-第 11 页,共 34 页 -实验五、六、七多表查询一、实验目的(1)掌握 SELECT 语句在多表查询中的应用。(2)掌握多表连接的几种连接方式及应用。二、实验要求1、学生提前准备好实验报告,预习并熟悉实验步骤;2、遵守实验室纪律,在规定的时间内完成要求的内容;3、12 人为 1 小组,实验过程中独立操作、相互学习。三、实验内容及步骤在 Gradem 或 Gradem1 数据库中完成下面查询:(1)查询计算机工程系女学生的学生学号、姓名及考试成绩。(2)查询“

16、李勇”同学所选课程的成绩。(不考虑重名)(3)查询“李新”老师所授课程的课程名称。(4)查询女教师所授课程的课程号及课程名称。(5)查询至少选修一门课程的女学生姓名。(6)查询姓“王”的学生所学的课程名称。(7)查询选修“数据库”课程且成绩在8090 分之间的学生学号及成绩。查询姓名(8)查询课程成绩及格的男同学的学生信息及课程号与成绩。(9)查询选修“c04”课程的学生的平均年龄。名师资料总结-精品资料欢迎下载-名师精心整理-第 12 页,共 34 页 -(10)查询学习课程名为“数学”的学生学号和姓名。(11)查询“钱军”教师任课的课程号,选修其课程的学生的学号和成绩。姓名(12)查询在第

17、 3 学期所开课程的课程名称及成绩。(13)查询“c02”号课程不及格的学生信息。(14)查询软件系成绩在90 分以上的学生姓名、性别和课程名称。(15)查询同时选修了“c04”和“c02”课程的学生姓名和成绩。三、思考题(1)指定一个较短的别名有什么好处(2)内连接与外连接有什么区别(3)“=”与 IN 在什么情况下作用相同四、实验总结:1、收获2、存在的问题名师资料总结-精品资料欢迎下载-名师精心整理-第 13 页,共 34 页 -实验八、九嵌套查询一、实验目的(1)掌握嵌套查询的使用方法。(2)掌握相关子查询与嵌套子查询的区别。(3)掌握带 IN 谓词的子查询的使用方法。(4)掌握带比较

18、运算符的子查询的使用方法。二、实验要求1、学生提前准备好实验报告,预习并熟悉实验步骤;2、遵守实验室纪律,在规定的时间内完成要求的内容;3、12 人为 1 小组,实验过程中独立操作、相互学习。三、实验内容及步骤在 Grademanager 数据库中完成下面查询:(1)查询计算机系(CS)女学生的学生学号、姓名及考试成绩。(2)查询“李勇”同学所选课程的成绩。(3)查询“李新”老师所授课程的课程名称。(4)查询女教师所授课程的课程号及课程名称。(5)查询姓“王”的学生所学的课程名称。(6)查询选修“数据库”课程且成绩在8090 分之间的学生学号及成绩。(7)查询选修“C04”课程的学生的平均年龄

19、。(8)查询学习课程名为“数学”的学生学号和姓名。(9)查询“钱军”教师任课的课程号,选修其课程的学生的学号和成绩。(10)查询在第 3 学期所开课程的课程名称及成绩。(11)查询与“李勇”同一个系的同学姓名。名师资料总结-精品资料欢迎下载-名师精心整理-第 14 页,共 34 页 -(12)查询学号比“刘晨”同学大,而出生日期比他小的学生姓名。(13)查询出生日期大于所有女同学出生日期的男同学的姓名及系别。(14)查询成绩比该课程平均成绩高的学生的学号及成绩。(15)查询不讲授“C01”课的教师姓名。(16)查询没有选修“C02”课程的学生学号及姓名。(17)查询选修了“数据库”课程的学生学

20、号、姓名及系别。(18)查询“C02”号课程不及格的学生信息。三、思考题(1)子查询一般分为几种(2)相关子查询的执行过程是什么四、实验总结:1、收获2、存在的问题名师资料总结-精品资料欢迎下载-名师精心整理-第 15 页,共 34 页 -实验十数据更新一、实验目的:(1)掌握利用INSERT命令实现对表数据的插入操作。(2)掌握利用UPDATE命令实现对表数据的修改操作。(3)掌握利用DELETE 命令实现对表数据的删除操作。二、实验要求1、学生提前准备好实验报告,预习并熟悉实验步骤;2、遵守实验室纪律,在规定的时间内完成要求的内容;3、12 人为 1 小组,实验过程中独立操作、相互学习。三

21、、实验内容及步骤在 Gradem 或 Gradem1 数据库中完成下面操作:注意:利用SELECT INTO 命令备份Student、SC、Course 这 3 个表,备份表名自定。(1)向 Student 表中插入记录(,张静,1981-3-21,女,CS,电子商务)。(2)插入学号为“”、姓名为“李四”的学生信息。(3)把计算机系的学生记录保存到表TS中(TS表已存在,表结构与Student 表相同)。(4)将学号为“”的学生姓名改为“张华”,系别改为“CS”,专业改为“多媒体技术”。(5)将“李勇”同学的专业改为“计算机信息管理”。(6)将“”学生选修“C03”号课程的成绩改为该课的平均

22、成绩。(7)把成绩低于总平均成绩的女同学的成绩提高5%。(8)把选修了“数据库”课程而成绩不及格的学生的成绩全改为空值(NULL)。(9)删除学号为“”的学生记录。(10)删除“计算机系”所有学生的选课记录。名师资料总结-精品资料欢迎下载-名师精心整理-第 16 页,共 34 页 -(11)删除 SC表中尚无成绩的选课记录。(12)把“张晨”同学的成绩全部删除。三、思考题(1)DROP命令和 DELETE 命令的本质区别是什么(2)利用 INSERT、UPDATE和 DELETE 命令可以同时对多个表进行操作吗四、实验总结:1、收获2、存在的问题名师资料总结-精品资料欢迎下载-名师精心整理-第

23、 17 页,共 34 页 -实验十一、十二、十三第四章综合实验一、实验目的:(1)进一步掌握SELECT 语句的功能及使用方法。(2)进一步掌握SELECT 语句的基本语法和查询条件表示方法;(3)进一步掌握查询条件种类和表示方法;(4)进一步掌握连接查询的表示及使用;(5)进一步掌握嵌套查询的表示及使用;(6)了解集合查询的表示及使用(7)进一步掌握利用INSERT命令实现对表数据的插入操作。(8)进一步掌握利用UPDATE命令实现对表数据的修改操作。(9)进一步掌握利用DELETE命令实现对表数据的删除操作。二、实验要求1、学生提前准备好实验报告,预习并熟悉实验步骤;2、遵守实验室纪律,在

24、规定的时间内完成要求的内容;3、12 人为 1 小组,实验过程中独立操作、相互学习。三、实验内容及步骤在 Grademanager 数据库中完成下面操作:(1)查询以 DB_开头,且倒数第3 个字符为 s的课程的详细情况;Select*from course where cname like db_%s_ _(2)查询名字中第2 个字为阳的学生姓名和学号及选修的课程号、课程名;思考能否用嵌套查询(3)列出选修了数学或者大学英语的学生学号、姓名、所在院系、选修课程号及成绩;(4)查询缺少成绩的所有学生的详细情况;(5)查询与张力(假设姓名唯一)年龄不同的所有学生的信息;(6)查询所选课程的平均成

25、绩大于张力的平均成绩的学生学号、姓名及平均成绩;Select,sname,avg(degree)from student a,sc b where=group by having avg(degree)(select avg(degree)from student a,sc b where=and sname=张力 )(7)列出只选修一门课程的学生的学号、姓名、院系及成绩;Select,sname,sdept,degree from student a,sc b where=group by having count(*)=1名师资料总结-精品资料欢迎下载-名师精心整理-第 18 页,共 34

26、 页 -(8)查找选修了至少一门和张力选修课程一样的学生的学号、姓名及课程号;Select,sname,cno from student a,sc b where=and cno in(select cno from student a,sc b where=and sname=张力 )(9)只选修“数据库”和“数据结构”两门课程的学生的基本信息;Select*from student a,sc b Where=and in(select sno from sc a,course b where=and cname=大学英语 and sno in(select sno from sc a,co

27、urse b where=and cname=高等数学)Group by having count(cno)=2(10)至少选修“数据库”或“数据结构”课程的学生的基本信息;(11)列出所有课程被选修的详细情况,包括课程号、课程名、学号及成绩;(12)查询只被一名学生选修的课程的课程号、课程名;Select cno,cname from course where cno in(select cno from sc group by cno having count(*)=1)(13)使用嵌套查询列出选修了“数据结构”课程的学生学号和姓名;(14)使用嵌套查询查询其它系中年龄小于计算机系的某个学

28、生的学生姓名、年龄和系别;(15)使用 ANY、ALL 查询,列出其他院系中比CS系所有学生年龄小的学生;(16)分别使用连接查询和嵌套查询,列出与张力在一个系的学生的信息;(17)使用集合查询列出CS系的学生以及性别为女的学生名单;四、实验总结:1、收获名师资料总结-精品资料欢迎下载-名师精心整理-第 19 页,共 34 页 -2、存在的问题名师资料总结-精品资料欢迎下载-名师精心整理-第 20 页,共 34 页 -实验十四索引一、实验目的:(1)理解索引的概念与类型。(2)掌握创建、更改、删除索引的方法。(3)掌握维护索引的方法。二、实验要求1、学生提前准备好实验报告,预习并熟悉实验步骤;

29、2、遵守实验室纪律,在规定的时间内完成要求的内容;3、12 人为 1 小组,实验过程中独立操作、相互学习。三、实验内容及步骤1)使用 Navicat 图形工具创建、管理索引(1)在数据库test 下创建 workinfo 表。创建表的同时在id 字段上创建名为index_id 的唯一性索引,而且以降序的格式排列。workinfo 表结构内容如下表所示:字段名字段描述数据类型主键外键非空唯一自增id编号INT(10)是否是是是sname职位名称VARCHAR(20)否否是否否Type职位类别VARCHAR(10)否否否否否Address工作地址VARCHAR(50)否否否否否Wages工资INT

30、否否否否否Contents工作内容INTYTEXT否否否否否extra附加信息TEXT否否否否否(2)创建索引。为name 字段创建长度为10 的索引 index_name,在 type 和 address字段上创建名为index_t 的组合索引。(3)将 workinfo 表的存储引擎更改为MyISAM 类型。(4)删除索引。删除workinfo 表的唯一性索引index_id。2)使用 SQL语句创建、管理索引(1)利用 create table 语句在 test 数据库中创建数据表writers,其表结构内容如下表所示。在创建表的同时在w_id字段上添加名称为uniquex 的唯一索引。

31、字段名字段描述数据类型主键外键非空唯一自增id编号INT(10)是否是是是w_name作者姓名VARCHAR(20)否否是否否w_addres作者地址VARCHAR(50)否否否否否名师资料总结-精品资料欢迎下载-名师精心整理-第 21 页,共 34 页 -sw_age年龄INT否否是否否w_note说明TEXT否否否否否(2)使用 alter table 语句在 w_name 字段上建立名称为nameidx 的普通索引。(3)使用 create index 语句在 w_address 和 w_age 字段上建立名称为multiidx 的组合索引。(4)删除索引。利用alter table 语

32、句将全文索引ftidx 删除,利用drop index 语句将 nameidx 索引删除。四、思考题(1)数据库中索引被破坏后会产生什么结果(2)视图上能创建索引吗五、实验总结:1、收获2、存在的问题名师资料总结-精品资料欢迎下载-名师精心整理-第 22 页,共 34 页 -实验十五视图一、实验目的:(1)理解视图的概念。(2)掌握创建、更改、删除视图的方法。(3)掌握使用视图来访问数据的方法。二、实验要求1、学生提前准备好实验报告,预习并熟悉实验步骤;2、遵守实验室纪律,在规定的时间内完成要求的内容;3、12 人为 1 小组,实验过程中独立操作、相互学习。三、实验内容及步骤1)使用 SQL语

33、句创建、管理视图(1)创建视图。创建一个名为sc_view1 的视图,从数据库gradem 的 sc 表中查询出成绩大于90 分的所有学生选修成绩的信息。创建一个名为sc_view2 的视图,从数据库gradem 的 sc 表中查询出成绩小于80 分的所有学生的学号、课程号、成绩等信息。创建一个名为sc_view3 的视图,由数据库gradem 的 student、course、sc 表创建一个显示“”班学生选修课程(包括学生姓名、课程名称、成绩等信息)的视图。创建一个从视图sc_view1 中查询出课程号“c01”的所有学生的视图。(2)修改视图的定义。修改视图sc_view1,使其从数据库

34、gradem 的 sc 表中查询出成绩大于90 分且第 3 学期的所有学生选修成绩的信息。(3)视图的删除。将视图 sc_view1 删除。名师资料总结-精品资料欢迎下载-名师精心整理-第 23 页,共 34 页 -(4)管理视图中的数据。从视图 sc_view2 中查询出学号为“25”、课程号为“a01”的学生选修成绩的信息。将视图 sc_view2 中学号为“22”、课程号为“c02”的成绩改为87。从视图 sc_view2 中将学号为“23”、课程号为“a01”的学生信息删除。2思考题(1)向视图中插入的数据能进入到基本表中去吗(2)修改基本表的数据会自动反映到相应的视图中去吗(3)如何

35、保证视图使用的安全性四、实验总结:1、收获2、存在的问题名师资料总结-精品资料欢迎下载-名师精心整理-第 24 页,共 34 页 -实验十六SQL编程一、实验目的:(1)理解常量与变量的概念;(2)掌握常量与变量的使用方法;(3)掌握表达式的使用方法;(4)理解 Transact-SQL流程控制语句的使用;(5)掌握常用函数的功能及使用方法;二、实验要求1、学生提前准备好实验报告,预习并熟悉实验步骤;2、遵守实验室纪律,在规定的时间内完成要求的内容;3、12 人为 1 小组,实验过程中独立操作、相互学习。三、实验内容及步骤(1)定义一个整型局部变量iAge 和可变长字符型局部变量vAddres

36、s,并分别赋值20 和“中国山东”,最后输出变量的值,并要求通过注释对批处理中语句的功能进行说明。(2)通过全局变量获得当前My SQL服务器的版本。(3)求 1100 的偶数和。(4)对于字符串“Welcome to My SQL”,进行以下操作。(查阅联机丛书)将字符串转换为全部大写。将字符串转换为全部小写。去掉字符串前后的空格。名师资料总结-精品资料欢迎下载-名师精心整理-第 25 页,共 34 页 -截取从第 12 个字符开始的10 个字符。(5)使用日期型函数,获得输出结果见表5-8。表 5-8 输出结果年份月份日期星期几20091116星期一(6)根据 sc 表中的成绩进行处理:成

37、绩大于等于60 分的显示“及格”,小于60 分的显示“不及格”,为NULL的显示“无成绩”。(7)利用 SQL条件语句,在student 表中查找“李艳”同学的信息,若找到,则显示该生的学号、姓名、班级名称及班主任,否则显示“查无此人”。3思考题(1)全局变量与局部变量的区别是什么(2)使用变量的前提是什么四、实验总结:1、收获2、存在的问题名师资料总结-精品资料欢迎下载-名师精心整理-第 26 页,共 34 页 -实验十七存储过程一、实验目的:(1)理解存储过程和函数的概念。(2)掌握创建各种存储过程和函数的方法。(3)掌握执行存储过程和函数的方法。(4)掌握查看、修改、删除存储过程和函数的

38、方法。二、实验要求1、学生提前准备好实验报告,预习并熟悉实验步骤;2、遵守实验室纪律,在规定的时间内完成要求的内容;3、12 人为 1 小组,实验过程中独立操作、相互学习。三、实验内容及步骤1)使用 Transact-SQL语句创建存储过程(1)创建不带参数的存储过程。创建一个从student 表查询班级号为“”班的学生资料的存储过程proc_1,其中包括学号、姓名、性别、出生年月等。调用proc_1 存储过程,观察执行结果。在 gradem1 数据库中创建存储过程proc_2,要求实现如下功能:存在不及格情况的学生选课情况列表,其中包括学号、姓名、性别、课程号、课程名、成绩、系别等。调用pr

39、oc_2 存储过程,观察执行结果。(2)创建带输入参数的存储过程。创建一个从student 表查询学生资料的存储过程proc_3,其中包括学号、姓名、性别、出生年月、班级等。要查询的班级号通过执行语句中的输入参数传递给存在过程。其中,“”为要传递给存储过程proc_3 的输入参数,也即是要查询的资料的班级号。(3)创建带输出参数的存储过程。创建一个从sc 表查询某一门课程考试成绩总分的存储过程proc_4。在以上存储过程中,要查询的课程号通过执行语句中的输入参数cno 传递给存储过程,sum_degree 作为输出参数用来存放查询得到的总分。执行此存储过程,观察执行结果。名师资料总结-精品资料

40、欢迎下载-名师精心整理-第 27 页,共 34 页 -2)使用 Transcant-SQL语句查看、修改和删除存储过程(1)查看存储过程。用户的存储过程被创建以后,可以用系统存储过程来查看其有关信息。查看存储过程的定义。使用系统存储过程sp_helptext 查看存储过程proc_1、proc_3 的定义。使用系统存储过程sp_help 查看存储过程proc_1 的信息。(2)修改存储过程。使用 ALTER PROCEDURE语句将存储过程proc_1 修改为查询班级号为“”班的学生资料。(3)删除存储过程。将存储过程proc_1 删除。四、实验总结:1、收获2、存在的问题名师资料总结-精品资

41、料欢迎下载-名师精心整理-第 28 页,共 34 页 -实验十八、十九触发器一、实验目的:(1)理解触发器的概念与类型。(2)理解触发器的功能及工作原理。(3)掌握创建、更改、删除触发器的方法。(4)掌握利用触发器维护数据完整性的方法。二、实验要求1、学生提前准备好实验报告,预习并熟悉实验步骤;2、遵守实验室纪律,在规定的时间内完成要求的内容;3、12 人为 1 小组,实验过程中独立操作、相互学习。三、实验内容及步骤1)使用 Transcat-SQL语句创建触发器(1)创建插入触发器并进行触发器的触发执行。为表 sc创建一个插入触发器student_sc_insert,当向表 sc插入数据时,

42、必须保证插入的学号有效地存在于student表中,如果插入的学号在student 表中不存在,给出错误提示。向表 sc 中插入一行数据:sno,cno,degree 分别是(,c01,78),该行数据插入后,观察插入触发器student_sc_insert是否触发工作,再插入一行数据,观察插入触发器是否触发工作。(2)创建删除触发器。为表 student 创建一个删除触发器student_delete,当删除表student 中的一个学生的基本信息时,将表sc 中该生相应的学习成绩删除。将学生“张小燕”的资料从表student 中删除,观察删除触发器student_delete 是否触发工作,

43、即sc表中该生相应的学习成绩是否被删除。(3)创建更新触发器。为 student 表创建一个更新触发器student_sno,当更改 student 表中某学号学生的学号时,同时将 sc表中该学生的学号更新。将 student 表中“12”的学号改为“22”,观察触发器student_sno 是否触发工作,即 sc 表中是否也全部改为“22”。名师资料总结-精品资料欢迎下载-名师精心整理-第 29 页,共 34 页 -2)查看、删除触发器(1)查看触发器的定义、状态和语法等相关信息。利用 SHOW TRIGGERS 语句查看。在 triggers 表中查看触发器的相关信息。(2)删除触发器。使

44、用 DROP TRIGGER 删除 student_sno 触发器。3)使用 Navicat 工具使用 Navicat 工具完成触发器student_sc_insert、触发器student_delete和触发器 student_sno 的创建、查看和删除。3思考题(1)能否在当前数据库中为其他数据库创建触发器(2)触发器何时被激发四、实验总结:1、收获2、存在的问题名师资料总结-精品资料欢迎下载-名师精心整理-第 30 页,共 34 页 -实验二十数据库的安全机制一、实验目的:(1)理解 My SQL的权限系统的工作原理。(2)理解 My SQL账户及权限的概念。(3)掌握管理My SQL账

45、户和权限的方法。(4)学会创建和删除普通用户的方法和密码管理的方法。(5)学会如何进行权限管理。二、实验要求1、学生提前准备好实验报告,预习并熟悉实验步骤;2、遵守实验室纪律,在规定的时间内完成要求的内容;3、12 人为 1 小组,实验过程中独立操作、相互学习。三、实验内容及步骤1)利用 Navicat 图形工具实现下列操作:使用 root 用户创建aric 用户,初始密码设置为abcdef。让该用户对gradem 数据库拥有SELECT、UPDATE、DROP权限。使用 root 用户将 aric 用户的密码修改为123456查看 aric 用户的权限。用 aric 用户登录,将其密码修改为

46、aaabbb,并查看自己的权限。利用 aric 用户来验证自己是否有GRANT权限和 CREATE权限。用 root 用户登录,收回aric 用户的删除权限。删除 root 用户。修改 root 用户的密码。2)利用命令实现下列操作:使用 root 用户创建exam1 用户,初始密码设置为123456。让该用户对所有数据库拥有SELECT、CREATE、DROP、SUPER、GRANT权限。创建 exam2 用户,该用户没有初始密码。用 exam2 用户登录,将其密码修改为000000。用 exam1 用户登录,为exam2 用户设置CREATE 和 DROP权限。用 exam2 用户登录,验

47、证其拥有的CREATE 和 DROP权限。用 root 用户登录,收回exam1 用户和 exam2 用户的所有权限。名师资料总结-精品资料欢迎下载-名师精心整理-第 31 页,共 34 页 -删除 exam1 用户和 exam2 用户。修改 root 用户的密码。四、实验总结:1、收获2、存在的问题名师资料总结-精品资料欢迎下载-名师精心整理-第 32 页,共 34 页 -实验二十一数据库的备份与恢复一、实验目的:(1)理解 My SQL备份的基本概念。(2)掌握各种备份数据库的方法。(3)掌握如何从备份中恢复数据。(4)掌握数据库迁移的方法。(5)掌握表的导入与导出的方法。二、实验要求1、

48、学生提前准备好实验报告,预习并熟悉实验步骤;2、遵守实验室纪律,在规定的时间内完成要求的内容;3、12 人为 1 小组,实验过程中独立操作、相互学习。三、实验内容及步骤首先在指定位置建立备份文件的存储文件夹,如D:mysqlbak。(1)利用 Navicat 图形工具实现数据的备份与恢复。对 Gradem 数据库进行备份,备份文件名为gradembak。备份 gradem 数据库中的student 表,备份文件存储在D:mysqlbak,文件名称为。将原有的gradem 数据库删除,然后将备份文件gradembak 恢复为 gradem。将 gradem 数据库中的student 表删除,然后

49、将备份文件恢复到数据库中。(2)使用命令进行数据的备份与恢复。使用 mysqldump 命令备份gradem 数据库,生成的文件存储在D:mysqlbak。使用 mysqldump 命令备份gradem 数据库中的course 表和 sc 表,生成的文件存储在D:mysqlbak。使用 mysqldump 命令同时备份两个数据库,具体数据库自定。将 gradem 数据库删除,分别使用mysql 命令和 source 命令将 gradem 数据库的备份文件恢复到数据库中。将数据库中的course 表和 sc 表删除,分别使用 mysql 命令和 source 命令将备份文件恢复到gradem 数

50、据库中。(3)表的导入与导出。利用 Navicat 图形工具分别将gradem 数据库中的student 表导出为.txt 文件、word 文件、excel文件和 html 文件。在导出.txt 文件时,根据个人需求,设置不同的栏位分隔符、行分隔符及文本限定符,导出的文件存储在D:mysqlbak。利用 Navicat 图形工具将导出的student 表的.txt 文件和 excel 文件导入到数据库gradem 中,表名分别为stud1和 stud2。利用 SELECT INTO OUTFILE命令导出 sc 表的记录,记录存储到中。删除 sc 表中的所有记录,然后利用LOAD DATA I

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁