数据库原理及课程设计实验报告册期末提交 2Word文件下载.docx

上传人:b****3 文档编号:7127892 上传时间:2023-05-08 格式:DOCX 页数:32 大小:1.21MB
下载 相关 举报
数据库原理及课程设计实验报告册期末提交 2Word文件下载.docx_第1页
第1页 / 共32页
数据库原理及课程设计实验报告册期末提交 2Word文件下载.docx_第2页
第2页 / 共32页
数据库原理及课程设计实验报告册期末提交 2Word文件下载.docx_第3页
第3页 / 共32页
数据库原理及课程设计实验报告册期末提交 2Word文件下载.docx_第4页
第4页 / 共32页
数据库原理及课程设计实验报告册期末提交 2Word文件下载.docx_第5页
第5页 / 共32页
数据库原理及课程设计实验报告册期末提交 2Word文件下载.docx_第6页
第6页 / 共32页
数据库原理及课程设计实验报告册期末提交 2Word文件下载.docx_第7页
第7页 / 共32页
数据库原理及课程设计实验报告册期末提交 2Word文件下载.docx_第8页
第8页 / 共32页
数据库原理及课程设计实验报告册期末提交 2Word文件下载.docx_第9页
第9页 / 共32页
数据库原理及课程设计实验报告册期末提交 2Word文件下载.docx_第10页
第10页 / 共32页
数据库原理及课程设计实验报告册期末提交 2Word文件下载.docx_第11页
第11页 / 共32页
数据库原理及课程设计实验报告册期末提交 2Word文件下载.docx_第12页
第12页 / 共32页
数据库原理及课程设计实验报告册期末提交 2Word文件下载.docx_第13页
第13页 / 共32页
数据库原理及课程设计实验报告册期末提交 2Word文件下载.docx_第14页
第14页 / 共32页
数据库原理及课程设计实验报告册期末提交 2Word文件下载.docx_第15页
第15页 / 共32页
数据库原理及课程设计实验报告册期末提交 2Word文件下载.docx_第16页
第16页 / 共32页
数据库原理及课程设计实验报告册期末提交 2Word文件下载.docx_第17页
第17页 / 共32页
数据库原理及课程设计实验报告册期末提交 2Word文件下载.docx_第18页
第18页 / 共32页
数据库原理及课程设计实验报告册期末提交 2Word文件下载.docx_第19页
第19页 / 共32页
数据库原理及课程设计实验报告册期末提交 2Word文件下载.docx_第20页
第20页 / 共32页
亲,该文档总共32页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

数据库原理及课程设计实验报告册期末提交 2Word文件下载.docx

《数据库原理及课程设计实验报告册期末提交 2Word文件下载.docx》由会员分享,可在线阅读,更多相关《数据库原理及课程设计实验报告册期末提交 2Word文件下载.docx(32页珍藏版)》请在冰点文库上搜索。

数据库原理及课程设计实验报告册期末提交 2Word文件下载.docx

20610508

实验实习地点

完成日期

学生姓名

学生学号

学院专业

软件工程学院物联网专业

所在班级

19物联网工程

一、实验实习目的及要求

熟练掌握使用Navicat和Transact-SQL语言两种方法创建、修改和删除表。

掌握管理表的有关系统存储过程。

二、实验实习设备(环境)及要求(软硬件条件)

电脑和NavicatforMySQL软件

三、实验实习过程和结果分析(源代码、步骤截图等)

1、利用Navicat创建满足以下要求的数据库:

①数据库存在于连接MySQL中;

②数据库名称为xsgl;

③字符集选择utf8--UTF-8Unicode;

排序规则选择utf8_general_ci。

2、在数据库xsgl中,利用Navicat创建以下表格:

1)表格名为xs(学生基本情况表);

2)表格中各个属性的定义如下:

列名

含义

数据类型

长度

能否取空值

备注

xh

学号

int

no

主码

xm

姓名

char

8

yes

xb

性别

2

nl

年龄

tinyint

zy

专业

16

jtzz

家庭住址

50

具体步骤如下:

打开新建的数据库“xsgl”–右键点击“表”--“新建表”。

按照上表内容输入个属性的定义,填写“列名”、“数据类型”,并取消或选择“允许NULL值”前的选项,并右键点击“xh”,选择将其设为主键,如图2.1所示:

图2.1

点击“保存”,输入表名:

xs。

结果如图2.2所示:

图2.2

3、按照以下步骤向表格xs中添加如下记录:

(学号)

(姓名)

(性别)

(年龄)

(专业)

(家庭住址)

200809412

庄小燕

24

计算机

上海市中山北路12号

200809415

洪波

25

青岛市解放路105号

200109102

肖辉

23

杭州市凤起路111号

200109103

柳嫣红

22

上海市邯郸路1066号

200307121

张正正

20

应用数学

上海市延安路123号

200307122

李丽

21

杭州市解放路56号

1)打开Navicat;

2)打开连接MySQL找到数据库xsgl中的表格xs;

3)在表格xs上右击鼠标,选择“打开表”;

4)在接着出现的记录录入界面上添加记录。

(方向键下增加新纪录)

添加完后如图3.1所示:

图3.1

4、向表xs中增加“入学时间”属性列,其列名为rxsj,数据类型为datetime型。

步骤:

右键单击xs表—设计表—加入列rxsj,设置数据类型为datetime。

如图4.1所示:

图4.1

5、将表xs中nl(年龄)列的数据类型改为int型。

与第4项类似

6、在数据库xsgl中,利用Transact-SQL语言创建以下表格:

1)表格名为kc(课程情况表);

kch

课程号

4

kcm

课程名

xss

学时数

xf

学分

点击“新建查询”,输入以下代码,点击运行

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。

RENAMETABLExsgl.xsTOxsgl.Students;

四、实验遇到问题及解决办法(有就写,没有就不写)

五、实验心得

进一步熟悉了Navicat和Transact-SQL语言两种方法创建、修改和删除表。

了解学习了管理表的有关系统存储过程。

实验实习日志2

表格数据的基本查询操作

彭泽玉

1403

10.10

肖洋

2019116034

掌握SELECT语句的基本用法。

掌握计算列的用法。

掌握WHERE子句中各类查询条件的写法。

图5.1

图6.1

学习了新的控制语句,掌握SELECT语句的基本用法。

实验实习日志3

表格数据的编辑和维护

10.14

田恩

2019116028

熟练掌握使用Transact-SQL语言和通过Navicat输入表数据、修改表数据和删除表数据的操作。

1、在数据库world中建立一个名为newlanguage的表,其结构与表countrylanguage完全一样(注意各字段的默认值、字符集、排序方式等;

enum型要添加枚举值否则报错),如图1.1:

图1.1

2、在表newlanguage中插入中国的客家话,其名称为CountryCode为CHN,language为Kejia,isOfficial为F,percentage为0.3。

USEworld;

INSERTINTOnewlanguage

VALUES('

CHN'

'

Kejia'

F'

0.3);

4、试将表countrylanguage中的所有记录插入到表newlanguage中去,其SQL命令为:

SELECT*

FROMcountrylanguage;

5、将表newlanguage中Language为“Kejia”的语言的Percentage改为0.4

UPDATEnewlanguage

SETPercentage=0.4

WHERELanguage='

;

6、将表newlanguage中语言的Percentage均减去0.1。

SETPercentage=Percentage-0.1;

7、删除表newlanguage中澳大利亚(CountrCode为“AUS”)的英语记录。

DELETEFROMnewlanguage

WHERECountryCode='

AUS'

ANDLanguage='

English'

;

8、清空表newlanguage中的所有数据。

TRUNCATETABLEnewlanguage;

三、练习题

以下题目在数据库world中完成。

1、通过Navicat,在country、countrylanguage、和city三个表中各输入10条记录。

2、将一条新的城市记录(Name:

Beijing,Country:

AFG,District:

Beijing,Population:

21148000)插入表city中。

INSERTINTOcity

Beijing'

AFG'

21148000);

3、插入一条语言记录(“CHN”,“Minnan”,“F”,0.5)到表countrylanguage。

INSERTINTOcountrylanguage

Minnan'

0.5);

4、删除CountryCode为“ABW”的语言记录。

学习到了更多的语法,发现语句都是灵活的,机动性很强。

使用了Transact-SQL语言和通过Navicat输入表数据、修改表数据和删除表数据的操作。

实验实习日志4

安装并熟悉navcatmysql

2020.11.30

熟练掌握使用Transact-SQL语言和通过Navicat输入表数据、修改表数据和删除表数据的操作

设备:

电脑

要求:

温馨的实验以及良好的软硬件设施

(一)、集合查询

用UNION并操作实现集合查询,查询计算机科学系的学生详细信息及年龄不大于19岁的学生详细信息。

FROMstudent

WHERESdept='

cs'

UNION

WHERESage<

=19;

(二)、嵌套查询

1.带有IN谓词的子查询

(1)用带有IN谓词的子查询,查询与“刘晨”在同一个系学习的学生信息,要求查出学号,姓名,所在系。

SELECTsno,sname,Sdept

WHERESdeptin

SELECTSdept

FROMstudent

WHERESname='

刘晨'

);

(2)用带有IN谓词的子查询,查询所有选修了1号课程的学生姓名。

SELECTsname

WHEREsnoin

(SELECTsno

FROMsc

WHEREcno='

1'

(3)用带有IN谓词的子查询,查询选修了课程名为“信息系统”的学生学号和姓名。

SELECTsno,sname

WHEREsnoin(SELECTSno

WHEREcno=3);

2.带有比较运算符的子查询

(1)用带有比较运算符的子查询,查询与“刘晨”同岁的学生,要求查出学号,姓名,年龄。

SELECTsno,sname,sage

FROMstudent

WHERESage=(

SELECTSage

WHERESname='

);

(2)用带有比较运算符的子查询,查询成绩高于200215122这个同学平均成绩的学生选课记录,要求查出学号,课程号,成绩。

SELECTsno,cno,grade

WHEREGrade>

(SELECTAVG(Grade)

WHERESno='

200215122'

);

(3)用带有比较运算符的子查询,找出每个学生超过他选修课程平均成绩的课程号,要求结果中显示学号和对应课程号。

SELECTsno,cno

FROMscy

WHEREGrade>

(SELECTAVG(Grade)

FROMscx

WHEREy.Sno=x.sno);

3.带有ANY或ALL谓词的子查询

(1)用带有ANY或ALL谓词的子查询,查询比CS系某一学生年龄小的学生姓名和年龄。

SELECTsname,Sage

ANY(SELECTSage

WHERESdept='

(2)用带有ANY或ALL谓词的子查询,查询其他系中比CS系所有学生年龄小的学生姓名和年龄。

SELECTsname,sage

WHERESage<

ALL(SELECTSage

WHERESdept='

ANDSdept<

>

'

4.带有EXISTS谓词的子查询

(1)用带有EXISTS谓词的子查询,查询没有选修1号课程的学生姓名。

WHERENOTEXISTS(SELECT*

WHEREcno=1ANDstudent.Sno=sc.Sno);

(2)用带有EXISTS谓词的子查询,查询与“刘晨”在同一个系学习的学生,要求查出学号,姓名,所在系。

SELECTsno,sname,sdept

FROMstudents1

WHEREEXISTS(SELECT*

FROMstudents2

WHEREs1.Sdept=s2.SdeptANDs2.sname='

实验实习日志

连接查询

2020.11.22

熟悉连接查询的使用,连接查询是关系数据库中最主要的查询,包括非等值连接查询、等值连接查询、自然连接查询、外连接查询、自身连接查询、复合条件连接查询等。

(一)、在连接“MySQL”中新建数据库“stuinfo”,并将数据库文件stuinfo.sql导入到该数据库之中。

(二)、完成如下查询

1.查询每个学生的学号,姓名,所在系,选修的课程号和成绩

SELECTsc.Sno,Sname,Sdept,Cno,Grade

FROMstudent,sc

WHEREstudent.Sno=sc.Sno;

2.查询数学系(MA)学生的学号,姓名,所在系,选修的课程号和成绩(在第一题的基础上增加限定条件)

WHEREstudent.Sno=sc.SnoANDSdept='

MA'

3.查询数学系(MA)学生的学号,姓名,所在系,选修的课程号,课程名和成绩(比第二题多查一个属性列‘课程名’,则多涉及一张表,应增加一个连接条件)

SELECTsc.Sno,Sname,Sdept,sc.Cno,Cname,Grade

FROMstudent,sc,course

WHEREstudent.Sno=sc.SnoANDsc.Cno=course.CnoANDSdept='

4.查询选修了2号课程的所有学生的姓名,性别,所在系

SELECTSname,Ssex,Sdept

WHEREstudent.Sno=sc.SnoANDCno=2;

5.查询选修了2号课程且成绩在80分以上的所有学生的姓名,性别,所在系及成绩

SELECTSname,Ssex,Sdept,Grade

WHEREstudent.Sno=sc.SnoANDCno=2ANDGrade>

80;

6.查询每一门课的间接先修课的课程号(即先修课的先修课)

SELECTFIRST.cno,SECOND.cpno

FROMcourseFIRST,courseSECOND

WHEREFIRST.cpno=SECOND.cno;

7.查询至少选修一门课程的女学生的姓名(使用groupby和having子句)

参考:

selectstudent.sname

fromstudent,sc

wherestudent.sno=sc.snoandstudent.ssex='

女'

groupbystudent.sno

havingcount(*)>

=1;

8.查询选修了信息系统课程的学生平均成绩

selectavg(grade)

fromsc,course

whereo=oandcname='

信息系统'

熟悉非等值连接查询、等值连接查询、自然连接查询、外连接查询、自身连接查询、复合条件连接查询等的使用。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2