–1单击此处下载数据库备份文件“src.rar”(winRar压缩包),还原到考生所用的系统中,数据库名为“学生信息库”。
use master
go
restore filelistonly from disk=‘d:\操作题04\src\1.bak’
go
xp_cmdshell ‘md d:\data\studentdb’
go
restore database 学生信息库 from disk=‘d:\操作题04\src\1.bak’
go
use 学生信息库
go
–2在数据库“学生信息库”中,新建一名为“学生个人信息”表,表结构如下:
create table 学生个人信息( 编号 char(10) NOT NULL
,姓名 char(10) NOT NULL
,性别 char(2) NOT NULL
,生日 datetime
,身份证号 char(20)
,家庭住址 varchar(50)
,电话号码 int NOT NULL
,邮箱地址 char(20) )
go
–3将“学生个人信息”表“编号”列设置为主键。
alter table 学生个人信息
add constraint PK_学生个人信息_编号 primary key(编号)
go
– 4为“学生个人信息”表的“身份证号”列建立唯一索引,索引名为“IX_学生个人信息_身份证号”。
create unique index IX_学生个人信息_身份证号 on 学生个人信息(身份证号)
go
– 5将“学生个人信息”表的“性别”列的默认值设为“女”,并增加检查约束,该列只能输入“男”或“女”,约束名为“CK_学生个人信息_性别”。
alter table 学生个人信息
add constraint DF_学生个人信息_性别 default(‘女’) for 性别
go
alter table 学生个人信息
add constraint CK_学生个人信息_性别 check(性别=‘男’ or 性别=‘女’)
go
– 6创建一名为“ 学生总评成绩 ”的视图,仅由学生的学号、学生的姓名、学生所学课程的名称、代码、总评成绩组成(列名:学号, 姓名, 课程名称, 课程代码, 总评成绩)。
create view 学生总评成绩
as
select 学生.学号, 姓名, 课程名称,课程.课程代码,总评成绩
from
学生
join 成绩 on 学生.学号=成绩.学号
join 课程 on 成绩.课程代码=课程.课程代码
go
– 7将课程表中至今没有学生选学的课程记录行删除。
delete from 课程
where
课程代码 not in(select 课程代码 from 成绩)
go
– 8将“学生”表中所有名字(包括姓)含有“文”字的学生信息,复制到新表“学生新表”中,再将“学生新表”的“姓名”列的数据类型及其宽度更改为Char(10),然后将“学生新表”的每一条记录的“姓名”数据的“姓”和“名”中间加入一个全角的空格,例如:姓名“张文秀”则更改为“张 文秀”。
– 第01步,创建新表,插入数据
select *
into 学生新表
from 学生
where 姓名 like ‘%文%’
go
–第02步:修改表结构,调整字段长度
alter table 学生新表
alter column 姓名 char(10)
go
–第03步:列新表中的数据列
update 学生新表
set 姓名=left(姓名,1)+’ '+ right(rtrim(姓名),len(姓名)-1)
go
–第04步:核验更新结果
–select * from 学生新表
– 9查找选修了“C语言程序设计”且考试成绩在80分以上(≥80)的学生姓名、学号及考试成绩,并按降序排序,并将这些信息存到名为“C语言程序设计优秀”的新表中(列名:学号, 姓名, 考试成绩)。
select
学生.学号,姓名,考试成绩
into C语言程序设计优秀
from
学生
join 成绩 on 学生.学号=成绩.学号
join 课程 on 成绩.课程代码=课程.课程代码
where
课程名称=‘C语言程序设计’
and 考试成绩 >= 80
order by
考试成绩 desc
go
–select * from C语言程序设计优秀
– 10编写存储过程“学生考试情况”,要求如下:
– (1)带一输入参数“@学号”,其开始代码严格如下:
– CREATE PROCEDURE 学生考试情况
– @学号 Char(10)
– AS
– (2)实现的功能是:根据输入参数“@学号”指定的学生,使用SELECT输出其考试的所有情况(包括学号、姓名、课程名称、考试成绩四列)。
CREATE PROCEDURE 学生考试情况
@学号 Char(10)
AS
select
学生.学号,姓名,课程名称,考试成绩
from
学生
join 成绩 on 学生.学号=成绩.学号
join 课程 on 成绩.课程代码=课程.课程代码
where
学生.学号 = @学号
go
– 11完全备份数据库“学生信息库”,备份文件命名为“学生信息.bak”,将文件 “学生信息.bak”用WinRar压缩为“学生信息.rar”,上传到指定的服务器上。
– 单击此处上传“学生信息.rar”
use master
go
backup database 学生信息库 to disk=‘d:\操作题04\学生信息.bak’
go
drop database 学生信息库
go
xp_cmdshell ‘“C:\Program Files\WinRAR\RAR.exe” a -y d:\操作题04\学生信息.rar d:\操作题04\学生信息.bak >NULL’
go
–清理系统
xp_cmdshell ‘rd /s/q d:\data\ > NULL’
go
–最后,在网页界面,点击鼠标,完成压缩文件的上传。
–提示:
– 1 如果不习惯使用命令方式来解压文件和创建压缩文件,可以自行用鼠标右键的方式去解压缩和创建压缩文件包。
– 2 如果是多次反复备分和打包,则建议事先一定清理已经存在了的数据包或是文件,否则有可能会对最新生成的备份或是数据包造成影响。
本文围绕学生信息库数据库展开操作,包括下载备份文件并还原,新建表、设置主键和索引、添加约束,创建视图、删除记录、复制数据到新表并修改,查找特定成绩学生信息存新表,编写存储过程,最后完全备份数据库、压缩并上传,还给出操作提示。
2929

被折叠的 条评论
为什么被折叠?



