数据库原理实验报告S7-数据更新及创建视图.doc
文本预览下载声明
实验7 数据更新及创建视图 实验日期和时间:2014.10.31 实验室:软件实验室 班级:12计科3 学号姓名:张翔 实验环境:
1.硬件:内存 4.00GB 处理器2.50Hz
2.软件:Windows 7旗舰版Microsoft SQL Server 2005
实验原理:
实验主要任务:
在学生选课数据库中,对数据库中的各个表实施如下更新操作:
1.按下表的定义创建“俱乐部”表:
“俱乐部”表字段定义
字段名称
数据类型
字段大小
主键
俱乐部编号
文本
4
是
俱乐部名称
文本
20
成立日期
日期/时间
俱乐部主席
文本
6
俱乐部地址
文本
20
状态
文本
4
人数
Integer
create table 俱乐部
(俱乐部编号char(4) primary key,
俱乐部名称char(20),
成立日期datetime,
俱乐部主席char(6),
俱乐部地址char(20),
状态char(4),
人数integer)
2.按下表的定义创建“俱乐部成员”表:
“俱乐部成员”表字段定义
字段名称
数据类型
字段大小
主键
俱乐部编号
文本
4
是
学号
文本
10
是
加入日期
日期/时间
create table 俱乐部成员
(俱乐部编号char(4),
学号char(10),
加入日期datetime,
primary key (俱乐部编号,学号),
foreign key (俱乐部编号) references 俱乐部(俱乐部编号) )
3.修改表结构
在俱乐部成员表中增加大小为6个字符的姓名字段:
alter table 俱乐部成员
add 姓名char(6)
从俱乐部表中删除俱乐部地址字段:
4.插入记录
插入单条记录。
插入多条记录。
增加一条编号为“0811”、名称为“足球终结者”的俱乐部记录:
insert
into 俱乐部(俱乐部编号,俱乐部名称)
values(0811,足球终结者)
增加一条编号为“0906”、名称为“海龙八极拳会”、俱乐部主席为“蔡小刀”的俱乐部记录:
insert
into 俱乐部(俱乐部编号,俱乐部名称,俱乐部主席)
values(0906,海龙八极拳会,蔡小刀)
增加一条今天参加了编号为“0906”的俱乐部、学号为“2005218141”、姓名为“东方鸿”的俱乐部成员记录:
insert
into 俱乐部成员(俱乐部编号,学号,加入日期,姓名)
values(0906,2005218141,(),东方鸿)
学生名单中“031国贸3”班全部男生今天都加入了足球终结者俱乐部,请向俱乐部成员表中插入这些记录:
insert
into 俱乐部成员(俱乐部编号,学号,加入日期,姓名)
select 俱乐部编号,,get date(),sname
from 俱乐部,student
where 俱乐部名称=足球终结者 and ssex=男 and sclass=031国贸班
单条记录的单项数据更新。
单条记录的多项数据更新。
多条记录的某些项数据同时更新。
带有子查询的更新。
将“海龙八极拳会”更名为“恨地无环八极拳会”,并将其成立日期设置为#2009-1-2#:
update 俱乐部
set 俱乐部名称=恨地无环八极拳会,成立日期=2009-1-2
where 俱乐部名称=海龙八极拳会
原“足球终结者”俱乐部中姓陈、姓李的成员全部在2009年3月6日转入“恨地无环八极拳会”,修改这些会员的记录:
update 俱乐部成员
set 加入日期=2009-3-6,俱乐部编号=(select 俱乐部编号
from 俱乐部
where 俱乐部名称=恨地无环八极拳会)
where 俱乐部编号=(select 俱乐部编号
from 俱乐部
where 俱乐部名称=足球终结者)
and 姓名like 李% or 姓名like 陈%
如果某俱乐部没有会员将该俱乐部的状态设置为“停止”
update 俱乐部
set 状态=停止
where not exists (select *
from 俱乐部成员
where 俱乐部成员.俱乐部编号=俱乐部.俱乐部编号)
6.删除记录
删除单条记录。对比一下,对于设置了“级联删除”和没有设置 “级联删除”的两种情况下此操作有何不同的结果?
删除多条记录。
带有子查询的删除
从俱乐部中删除“
显示全部