SQL Server数据库应用技术操作题题库
更新时间:2024-01-22 03:40:01 阅读量: 教育文库 文档下载
- sql server推荐度:
- 相关推荐
《SQL Server数据库应用技术》操作题题库
要求:用SQL命令完成 1、数据库操作
(1)创建以“StuManage”为名的学生信息管理数据库。要求:
主数据文件:文件名为StuManage_data.mdf,存储位置为“D:\\exam\\”,初始大小3MB,以1MB增长,最大尺寸10MB; 事务日志文件:文件名为StuManage_log.ldf,存储位置为“D:\\exam\\”,初始大小2MB,以10%增长,最大尺寸10MB; use master//go//create database StuManage//on primary (name=StuManage_data,
filename='D:\\exam\\StuManage_data.mdf',//size=3mb,//maxsize=10mb, filegrowth=1mb)//log on//(name=StuManage_log,
filename='D:\\exam\\StuManage_log.ldf',//size=2mb,//maxsize=10mb, filegrowth=10%)//go (2)创建学生信息数据库”StuManage2”。要求:
主数据文件:StuManage2_data.mdf,初始大小5MB,存储位置为:“d:\\exam\\” ,文件增量以10%的比例增长; 日志文件: StuManage2_log.ldf,起始大小5MB,存储位置为:“d:\\exam\\”,文件增量以10%的比例增长。 use master//go//create database StuManage2//on primary
(name=StuManage_data,//filename='D:\\exam\\StuManage2_data.mdf', size=5mb,//filegrowth=10%)//log on
(name=StuManage_log,//filename='D:\\exam\\StuManage2_log.ldf', size=5mb,//filegrowth=10%)//go 2、表的基本操作
(1)请在StuManage数据库中添加如下表:
教室基本信息表(TblRoom)
编号 1 2 3 4 5 列名 roomNo roomName address number remark 字段类型 Nchar Nvarchar Nvarchar Int Nvarchar 长度 6 50 50 4 100 字段描述 教室编号(主键) 教室名称(非空) 位置 容纳人数 备注 use StuManage//go//create table TblRoom//(roomNo Nchar (8) primary key, roomName Nvarchar (50) not null,//address Nvarchar (50),//number Int, remark Nvarchar (100))//go (2) 请在StuManage数据库中添加如下表:
学生基本信息表(TblStudent)
编号 1 2 3 4 列名 stuNo stuName gender addr 字段类型 Nchar Nchar Nchar Nvarchar 长度 8 8 1 50 字段描述 学号(主键) 姓名(非空) 性别 家庭住址(默认值广东河源) 5 GraduateSchool Nvarchar 50 毕业学校 use StuManage2//go//create table TblStudent
(stuNo Nchar (8) primary key,//stuName Nchar (8) not null, gender Nchar (1),//addr Nvarchar (50) default’广东河源’, GraduateSchool Nvarchar (50))//go
(3) 给TblStudent表中gender列设置check约束为:“男或女”(5分) alter table TblStudent
add constraint chk_gender check(gender='男' or gender='女')//go (4) 为教室表tblRoom的number列添加Check约束,限制其为1—300之间的 use StuManage//go//alter table tblRoom
add constraint chk_number check(number >=1 and number <=300)//go
(5)向学生基本信息表TblStudent中插入一行新的数据(‘20080101’,‘李红’,‘女’,“广东梅州”)。 use StuManage2//go
insert TblStudent (stuno,stuname,gender,addr) values('20080101','李红','女','广东梅州')//go
(6)请向学生基本信息表TblStudent插入新的一列,列名为remark,类型为nvarchar(50),可以为空。 use StuManage2//go//alter table TblStudent add remark nvarchar (50) //go
(7)请删除学生基本信息表TblStudent的GraduateSchool列 use stumanage2//go//alter table tblstudent drop column graduateschool//go
3、基本应用(以下操作均在XK实例数据库中进行)
(1)从 student 表中检索姓名为“杨华”的同学的学号、姓名和班级编码,要求显示的列名为“学号”、“姓名”和“班级编码”。 use xk//go//select '学号'=stuno,'姓名'=stuname,'班级编码'=classno from student//where stuname='杨华'//go
(2)从Student表中检索学生的班级编码,要求显示班级编码并消除其重复值,列名以“班级编码”显示。 use xk//go//select distinct '班级编码'=classno from student//go
(3)从Course表中查询出报名人数最多的五门课程的信息。 use xk//go//select top 5 *//from course order by willnum desc//go
(4)检索不姓“刘”的学生信息(可以使用LIKE或NOT LIKE关键字实现)。 use xk//go//select *//from student where stuname not like '刘%'//go
(5)在课程表中,按所开设课程的系部编码统计课程总的报名人数。
use xk//go//select '系部编码'=departno, '总报名人数'=sum(willnum) from course//group by departno//go
(6)从课程表中统计平均报名人数大于30的课程分类。
use xk//go//select kind as '课程分类',avg(willnum) as '每类平均报名人数' from course//group by kind//having avg(willnum)>30//go
(7)从XK数据库中检索“计算机应用工程系”的学生信息。
use xk//go//select student.*,departname//from department,student,class where department.departno=class.departno//and class.classno=student.classno and departname='计算机应用工程系'//go
(8)向班级表中插入一行新的数据(‘20080101’,‘08计算机1班’,‘01’)。 use xk//go//insert into class (classno,classname,departno)
values ('20080101','08计算机班','01')//go//select *//from class//go (9)将“林斌”选修的课程编码为“001”的课程修改为“012”。
use xk//go//update stucou//set couno='012'//from stucou,student where stuname='林斌'//and stucou.stuno=student.stuno and stucou.couno='001'//go
(10从学生表中删除学号为“00000003”的学生信息。 use xk//go//delete student//from student where stuno = '00000003'//go (11)为Tblstudent表的学号列创建聚集索引 use xk//go
create clustered index IX_stuno on Tblstudent (stuno)//go
(12)为表course中的课程名称列建立唯一、非聚集索引。 use xk//go//create unique index IX_couname on course(couname)//go
(13)创建视图v_CouByDep,显示各个系部开设的选修课的数量和报名人数。 use xk//go//create view v_coubydep//as
select departno,count(departno)'选修课的数量',sum(willnum)'报名人数' from course//group by departno//go
(14)创建视图v_CouByKind,显示各类课程的报名总人数和课程类别。 --第一种方法
create view V_CouByKind//as//select kind,sum(willnum) kind_sum from course//group by kind//go 检索:select *//from V_CouByKind//go --第二种方法
use xk//go//create view V_coubykind1//as
select kind as '课程分类', sum(willnum) as '报名总数' from course//group by kind//go
(15)创建视图v_Student,显示学生的信息(系部名称,班级名称,学号,姓名,性别) create proc v_student//as
select departname,classname,stuno,stuname,gender from department,class,student
where department.departno=class.departno and class.classno=student.classno//go --查询 exec v_student//go
(16)“叶艳茵”老师想查询一下有哪些同学选修了她的课程,包括课程名、学号、学生姓名、上课时间,教师名称。请使用创建存储过程的方法来实现这一查询要求。 create proc p1_stubytea1//as
select couname,student.stuno,stuname,schooltime,teacher from course,stucou,student
where stucou.stuno=student.stuno and stucou.couno=course.couno and teacher='叶艳茵' //go exec p1_stubytea1//go
(17)创建一存储过程,要求根据用户输入的系部名称和学分,来查询其课程信息。 use xk//go//create proc p_credit
@departname nvarchar(20),@credit decimal(3,1)//as
select course.couno,couname,kind,credit,teacher,schooltime,willnum,limitnum,departname from course,department
where course.departno=department.departno//and course.credit=@credit and department.departname = @departname//go
--查询 use xk//go//exec p_credit @departname='旅游系',@credit='2.0'//go
(18)创建一个名为p_StudentPara的存储过程,该存储过程根据给定的班级名称显示该班级所有学生的信息。 create proc p_StudentPara//@classname nvarchar(20)
as//select *//from class,student//where class.classno=student.classno and class.classno= @classname//go exec p_StudentPara @classname='20000001'//go
(19)创建一个名为p_StudentPara的存储过程,该存储过程根据给定的学生学号查询该学生的信息。 create proc p_StudentPara//@stuno nvarchar(8)//as
select student.stuno,class.classno,stuname,classname,gender from class,student
where class.classno=student.classno// and student.stuno=@stuno//go exec p_StudentPara @stuno='00000004'//go
(20)创建一个存储过程,实现1+2+3+。。。。N的和,其中n为输入参数。 create proc p_sum//@n int,@sum int output//as
declare @i int//set @i=0//set @sum=0 while @i<=@n -- @i<1000 begin
set @sum=@sum+@i set @i=@i+1 end//go
--查询 declare @sum int,@n int//set @n=1000//exec p_sum @n,@sum output print '1+2+3...+'+cast(@n as varchar(8))+'='+ cast(@sum as char)//go
(21)创建一个触发器,要求每当在student表中插入一条记录时,向客户端显示一条“记录已添加!”的消息。 create trigger student1//on student//for insert as//print '记录已添加!'//go --添加一条记录 insert student
values ('02000061','20000001','张浩','3178C441','男')//go
(22)创建一个触发器,要求每当从department表中删除一条记录时,向客户端显一条“系部记录不允许删除!”的消息,并阻止其删除操作。
create trigger department1//on department//instead of delete as
print '系部记录不允许删除!' go --删除
delete department where departno ='03'
(23)创建一个触发器,要求每当用户插入department表的记录后,自动显示刚刚插入的记录。 create trigger department2 on department for insert as
select * from department go --插入记录
insert department values ('05','电信系') go
(24)创建一个触发器,要求每当用户从student表中删除数据时,自动显示刚刚删除的记录。 create trigger student2 on student for delete as
select * from student go
delete student
where stuno='00000006' go
正在阅读:
复习课Microsoft PowerPoint 演示文稿06-12
浅谈输电线路工程项目施工成本控制03-20
江苏省森林资源规划设计调查操作细则03-31
高二地理荒漠化的防治206-02
生化培养箱作业指导书03-15
Java实现几种常见排序方法-直插、冒泡、选择、快排、堆排等10-26
人防工程监理交底05-14
2016年妇产科中级资格考试试题(4)03-25
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 题库
- 应用技术
- 操作
- 数据库
- Server
- SQL