数据库上机实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库实验报告(所有实验)
院系:信息科学与工程学院
专业:网络工程电子商务
班级:
姓名:
学号:
指导老师:
年月日
一、实验目的
熟练掌握SQL语句的插入、修改、删除、查询等相关语法。能够使用Microsoft SQL Server和MySQL软件进行相关的数据库操作。
二、实验内容
1数据库的创建和使用;
2表的创建和使用;
3数据的插入、删除和修改;
4数据的查询;
5.视图的创建和使用。
实验一、
创建学生成绩管理数据库
在学生成绩管理数据库中,包括基本的三个关系:student,course,sc 。
(1)student(sno,sname,ssex,sage,sdept),表示学号,姓名,性别,年龄,所在系。主键学号,姓名唯一,系默认cs。
(2)Course (cno,cname,cpno,ccredit),表示课程号,课程名,先行课程号,学分。主键课程号
(3)SC (sno,cno,grade),表示学号,课程号,成绩。外键,学号和课程号。创建该数据库代码及其最后结果图如下:
create table student(
sno char(20) primary key,
sname char(10) unique,
ssex char(2),
sage smallint,
sdept char(12) default'cs'
)
create table course(
cno char(10) primary key,
cname char(20),
cpno char(10),
ccredit char(6)
)
create table sc(
sno char(20),
cno char(10),
grade smallint,
primary key(sno,cno),
foreign key(sno) references student(sno), foreign key(cno) references course(cno)
)
实验二、
在实验一的结果上进行各种操作练习及其代码
一修改表结构,对学生表增加,电话号码一列,删除年龄一列。alter table student
add pnumber char(22)
alter table student
drop column sage
二简单查询
例1.查询全体学生详细记录
select *
from student
例2.查询信息系所有男生的学号、姓名、出生年份
select sno,sname,sage
from student
where ssex='男'
例3.查询选修过课的学生的学号
select sno
from sc
例4. 查询年龄在25-30之间的学生姓名及性别。
select sname,ssex
from student
where sage between 25 and 30
例5. 查询姓“欧阳”的学生。
select sname
from student
where sname like '欧阳%'
例6. 查询信息系IS,数学系MA和计算机系CS的学生。
select sname
from student
where sdept='is' or sdept='ma' or sdept='cs'
例7 查询所有学生的成绩及姓名
select grade,sname
from student,sc
where sc.sno=student.sno
例8 查询‘95001‘学生的所选的课程,成绩和专业
select cname,grade,sdept
from student,sc,course
where student.sno=sc.sno and o=o and student.sno='95001'
实验三、四
关系模式如下:
数据内容如下:
创建数据库并使用数据库
创建表EMPLOYEE并插入数据
创建表DEPARTMENT并插入数据
创建表PROJECT并插入数据
创建表WORKS_ON并插入数据
创建表DEPT_LOACTION并插入数据
创建表DEPENDENT并插入数据
查询操作
实验五、
附加MSSQL2000的示例数据库pubs数据库
1.使用演示脚本创建表、插入数据,查找以‘x%’开头的数据。
--建表
create table test(col varchar(10))
--插入数据
insert into test values('x_yz')
insert into test values('[xyz]')
insert into test values('x%yz')
insert into test values('xyz')
练习及其代码如下:
--练习1
--找出pubs数据库titles表中计算机类图书中价格最高的图书的价格。 USE pubs
SELECT max(price) FROM titles
where type='popular_comp'
--练习2
--查询titles表中有几类图书。
USE pubs
SELECT count(distinct type) FROM titles