第二次数据库实验报告Word文档格式.docx

上传人:b****8 文档编号:22491429 上传时间:2023-02-04 格式:DOCX 页数:29 大小:1.12MB
下载 相关 举报
第二次数据库实验报告Word文档格式.docx_第1页
第1页 / 共29页
第二次数据库实验报告Word文档格式.docx_第2页
第2页 / 共29页
第二次数据库实验报告Word文档格式.docx_第3页
第3页 / 共29页
第二次数据库实验报告Word文档格式.docx_第4页
第4页 / 共29页
第二次数据库实验报告Word文档格式.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

第二次数据库实验报告Word文档格式.docx

《第二次数据库实验报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《第二次数据库实验报告Word文档格式.docx(29页珍藏版)》请在冰豆网上搜索。

第二次数据库实验报告Word文档格式.docx

王敏

1983-2-15

24

06003

060011

张立

1987-1-19

20

06007

朱永

1987-3-2

07002

070012

周文

1988-5-11

19

07008

秦阳

1988-12-5

07009

070013

张王杨

1989-1-12

18

Course表

CNo

CName

CCredits

CTno

CInfo

CPno

CTime

CTerm

00001

数据库

4

2

数据库课程介绍略

5

36

00002

数学

1

数学课程介绍略

00003

信息系统

3

信息系统课程介绍略

27

00004

操作系统

操作系统课程介绍略

7

00005

数据结构

数据结构课程介绍略

00006

电路基础

电路基础课程介绍略

00007

数字逻辑

数字逻辑课程介绍略

00008

英语

英语课程介绍略

00009

日语

日语课程介绍略

SC表

Score

92.0

85.0

58.0

63.0

54.0

55.0

78.0

90.0

60.0

88.0

72.0

89.0

99.0

Class表

Tno

Dno

Clname

0001

03软件二班

040001

05007

04信息一班

08002

0002

03统计一班

040009

09006

04应数二班

10100

0003

06通信一班

11089

07信号二班

11091

07电路三班

Teacher表

TName

age

sal

mgr

DNo

王莹

35

4500

01002

张璟

32

4200

周颖

31

3500

02003

吴红

28

3200

02005

赵国功

29

3000

01006

江卫星

45

2800

2500

李主任

42

6500

qthlete表

name

sex

groupl

陈海

刘平

余林

张建

周晶晶

姚倩

 

其中,Student表中SNo表示学号,CLno表示班级编号,Sname表示姓名,SSex表示性别,SBir表示出生年月,SAge表示年龄;

Course表中CNo表示课程编号,CName表示课程名称,CTno表示课程类型编码,CInfo表示课程介绍,CCredits表示学分,CTime表示总学时,CPno表示先修课程编号,CTerm表示学期;

SC表中SNo表示学号,CNo表示课程编号,Score表示成绩。

一、实验目的

1、熟练掌握两种方式修改表(表的结构、表中的数据);

2、掌握常规数据查询。

会使用select、where、orderby及几种基本的聚合函数。

二、实验内容和步骤(参考《数据库实验指导》课本查看详细要求)

1、两种方式修改表的结构

1用企业管理器修改SM_E01014040中的数据表:

Student增加一列Address;

实验步骤:

具体步骤截图:

增加列Address后表属性:

2用SQL语句修改表Course的列属性,将CName的长度改为40,且不允许为空

SQL源码:

USESM_E01014040

ALTERTABLECourseALTERCOLUMNCNameVARCHAR(40)NOTNULL

过程截图:

修改后截图:

3用SQL语句修改SM_E01014040中的数据表:

Student增加一列Emai,要求必须包含“@”字符,将此约束命名为“ck_ea”;

ALTERTABLEStudentADDEmailVARCHAR(40)NULLCONSTRAINTck_eaCHECK(Emaillike'

%@%'

4用SQL语句删除Student中的列Address

ALTERTABLEStudentDROPCOLUMNAddress

删除后截图:

5用SQL语句给表Student中的SName添加主键约束,并将此主键约束命名为“pk_name”

ALTERTABLEStudentADDCONSTRAINTpk_namePRIMARYKEY(SName)

6用SQL语句删除表Student中的SName的主键约束

ALTERTABLEStudentDROPCONSTRAINTpk_name

7使用WITHNOCHECK子句,向Student中的SAge添加约束,约束名为“ck_age”,使学生年龄为18-25岁。

ALTERTABLEStudentWITHNOCHECKADDCONSTRAINTck_ageCHECK(SAge>

=18ANDSAge<

=25)

8使用NOCHECK子句将Student中的Emai约束无效或重新有效。

ALTERTABLEStudentNOCHECKCONSTRAINTck_ea

ALTERTABLEStudentCHECKCONSTRAINTck_ea

2、两种方式修改表的数据

1用企业管理器,向SM_E01014040数据库中的学生表Student插入一条记录(’03007’,’03002’,’梁栋’,’男’,’1984-10-10’)

2用SQL语句进行插入操作:

向Student插入一条学号为“06001”、姓名为“王立”、性别为“男”的学生记录;

想SC表中插入一条学号为“06001”、课程号为“00001”、选课分数为空的选课记录;

INSERTINTOStudent(SNo,SName,SSex)VALUES('

06001'

'

王立'

男'

INSERTINTOSCVALUES('

00001'

null)

3用SQL语句进行修改操作:

修改学生06002的年龄为20;

将所有男生的年龄增加1;

给所有选修了数字逻辑课程的学生成绩加5分。

UPDATEStudentSETSAge=20WHERESNo='

07002'

UPDATEStudentSETSAge=SAge+1WHERESSex='

UPDATESCSETScore=Score+5WHERECNo=(SELECTCNoFROMCourseWHERECName='

数字逻辑'

4用SQL语句进行删除操作:

删除学号为06001的学生记录;

删除所有学生的选课记录。

DELETEFROMStudentWHERESNo=’06001’

DELETEFROMSC

规数据查询中SELECT、WHERE、ORDERBY语句使用

实验前提:

在SM_E01014040数据库中新建表Teacher,包含以下数据项:

Teacher(Tno,TName,age,sal,mgr,DNo),其中,TNo为教职工编号,TName为教职工姓名,age为年龄,sal为月薪,mgr为教职工的上一级领导(即上级领导的职工号),DNo为部门号。

以任意一种方式往Teacher表中中添加数据如下:

35

4500

32

4200

31

3500

28

3200

29

3000

45

2800

1查看所有教职工的信息

SELECT*FROMTeacher

2查看所有教职工的职工号和姓名

SELECTTNo,TNameFROMTeacher

3查看所有教职工的职工号、姓名,并要求输出结果的列名显示为“教职工号”、“姓名”。

SELECTTNo教职工号,TName姓名FROMTeacher

4查询所有教职工的姓名和年薪,并要求输出结果的列名显示为“姓名”、“年薪”。

SELECTTName姓名,sal*12年薪FROMTeacher

5查询所有教职工的姓名和年薪,并要求输出结果的列名显示为“姓名”、“年薪”、“币种单位”,其中币种单位的值为“元”。

SELECTTName姓名,sal*12年薪,'

元'

币种单位FROMTeacher

6使用DISTICNT:

查看SC表中的学号与不加DISTINCT的区别

SELECTSNoFROMSC

SELECTDISTINCTSNoFROMSC

7查询所有0002部门职工的信息

SELECT*FROMTeacherWHEREDNo=’0002’

8查询1984年和1985年出生的女生的信息

SELECTSName,SBirFROMStudentWHERESSex='

女'

ANDSBirBETWEEN'

1984-01-01'

AND'

1985-12-31'

9查询0001、0002、003部门的职工的信息

SELECT*FROMTeacherWHEREDNoIN(‘0001’,’0002’,’0003’)

10查询学号为03004的同学正在学习的课程

SELECTCNoFROMSCWHERESNo='

03004'

11查询姓王的同学的信息

SELECT*FROMStudentWHERESNameLIKE'

王%'

12查询所有职工的年龄,并按年龄从小到大的顺序排列

SELECTTNo,ageFROMTeacherORDERBYage

13查询学生某门课(如00001)的成绩,成绩由高到低的顺序输出

SELECTSNo,ScoreFROMSCWHERECNo='

ORDERBYScoreDESC

14查询职工的年薪,并按年薪的升序排列

SELECTTName职工姓名,sal*12年薪FROMTeacherORDERBY2

15查询所有职工信息,按部门号降序排列,在部门相同的情况下,按年龄的升序排列

SELECT*FROMTeacherORDERBYDNoDESC,age

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

当前位置:首页 > 自然科学 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1