SQL 操作练习题1Word下载.docx
- 文档编号:21271325
- 上传时间:2023-01-29
- 格式:DOCX
- 页数:14
- 大小:433.46KB
SQL 操作练习题1Word下载.docx
《SQL 操作练习题1Word下载.docx》由会员分享,可在线阅读,更多相关《SQL 操作练习题1Word下载.docx(14页珍藏版)》请在冰豆网上搜索。
3)在SQLServerProfiler中查看指定性能计数器的情况。
2数据库备份计划
2.1利用维护计划功能,设置每天3:
00自动执行增量备份(差异备份)数据库model到文件夹C:
\Backup,并将操作步骤写在c:
\gatDoc\SQL3J2.2.1\2.2.1.doc文档里面,将下面两个操作界面截屏后依次保存在同一个文档里:
2.21)设置备份数据库任务的界面
2.32)维护计划设置完成的界面
2.4利用SQLServerAgent功能(作业功能),创建作业job1,设置每天5:
00完成以下步骤:
先删除备份文件c:
\gatDoc\SQL3J2.2.1\model.bak,然后对数据库model进行完全备份,保存为c:
\gatDoc\SQL3J2.2.1\model.bak,请在2.2.1.doc文档里写出操作步骤,并将下面三个操作界面截屏后依次保存:
1)设置删除备份文件的界面
2)设置对数据库model进行完全备份的界面
3)设置作业计划属性的界面
3数据库编程
*准备:
假设目前有一个数据库demo,里面有一个表Student,结构如下:
IDint,--学号
Namevarchar(20),--姓名
enterDatedatetime,--入学日期
jobvarchar(10),--职位
highnumeric(8,2),--身高
teacherIDint,--班主任代号
classIDint,--班级编号
练习时请同学自行创建以上数据库和数据表(考试时系统中已经创建好了)。
将下面操作的SQL脚本保存到c:
\gatDoc\SQL3J3.1.1\3.1.1.doc文档中。
3.1建立存储过程add_stu,输入学号、姓名、入学日期、职位、身高、班主任代号、班级编号,向表student插入数据。
3.2建立函数valid_id,根据输入的学号,检查学生是否存在,如果存在,则返回1,否则返回0。
(标量函数)
3.3建立函数get_high,根据输入的学号,返回姓名和身高,其中要求先调用函数valid_id确定该学生是否存在,不存在则显示消息“该学生不存在”。
(多语句表值)
3.4建立函数get_tab,根据输入的班级编号返回该班级所有学生信息。
(内联表值)
3.5编写存储过程disp_stu,根据输入的班级编号,采用游标方式按照下列格式输出该班级所有学生的姓名、职位、身高。
姓名职位身高
-------------------------------------------
参考答案:
1.1
selecttop20sql_handle,sum(total_worker_time)ascpu_time
fromsys.dm_exec_query_stats
groupbysql_handle
orderbycpu_timedesc
*分析:
在sys.dm_exec_query_stats视图中,total_worker_time字段用来保存某个进程占用的cup时间,sql_handle表示某个进程编号。
这个视图在master数据库中的系统视图中可以找到。
(本图为操作参考,考试时不需要给出)
1.2
步骤:
(考试时不需要写步骤)
1.在SQLServerManangementStudio打开新查询。
2.选择Master数据库,点击工具栏中的“新建查询”。
3.在查询中执行下面的语句:
Seelct*fromsysobjects
4.在“管理→活动监视器”中,右键选择“查看进程”,弹出活动监视器窗口,有多个进程,其中有一个帐户在访问数据库实例,双击该进程后弹出一个进程的详细信息窗口。
使用Alt+PrtSc组合键,可以复制当前活动窗口图象)
1.3
1.在SQLServerManangementStudio的“工具”菜单中打开SQLServerProfiler。
2.点击“新建跟踪”。
3.填写跟踪名称myTrace,选中“保存到文件”,指定文件夹C:
\和文件名myTrace.trc,单击“运行”。
4.在SQLServerProfiler的“工具”菜单中打开性能监视器。
5.展开“性能日志和警报”,在“计数器日志”上右键选择“新建日志设置”,填写日志名称myLog。
6.点击“添加计数器”,在“性能对象”中选择“SQLServer:
SQLStatistics”,再从列表中选择一个计数器“SQLCompilations/sec”,然后点击“添加”,再点击“关闭”。
7.打开“日志文件”选项卡,在“日志文件类型”中选择“文本文件(用逗号分隔)”。
点击“配置”按钮,指定文件夹C:
\和文件名myLog.csv,然后按“确定”返回。
8.在查询工具中任意使用SQL语句执行一些数据库操作。
9.3分钟后,分别停止SQLServerProfiler和性能监视器的所有运行的任务。
10.关闭SQLServerProfiler的当前跟踪,在“文件”菜单中打开所保存的跟踪文件C:
\myTrace.trc,然后在“文件”菜单中选择“导入性能数据”,选择性能计数器保存的文件C:
\myLog.csv,并在“性能计数器限制对话框”中选中相应的计数器(见后面的参考图)。
(本图为操作参考,考试时不需要给出,所有选项都打勾)
2.1
1.在SQLServerManangementStudio的管理->
维护计划中,右键点击“新建维护计划”,填写名称。
2.设置计划,选择“重复执行”,频率为每天一次,时间设定为3:
00。
3.在左边任务列表中将“备份数据库”任务拖曳到右边窗口,然后双击他。
4.选择数据库“model”,备份类型选“完整”,文件夹选“C:
\Backup”(直接打字,不要打开对话框进行选择)。
5.保存,退出。
2.2
1.在SQLServerManangementStudio的SQLServer代理->
作业中,右键点击“新建作业”,填写名称。
2.点击“步骤”选项卡,新建一个步骤,命名为step1,类型选择“操作系统(cmdExec)”,命令栏目中填写:
delc:
\backup\model.bak,单击“确定”。
3.新建一个步骤,命名为step2,类型选择“Transact-SQL脚本(T-SQL)”,数据库选择“master”,命令栏目中填写:
backupdatabasemodeltodisk='
c:
\backup\model.bak'
,单击“确定”。
4.点击“计划”选项卡,新建一个计划,命名为plan1,选择“重复执行”,频率为每天一次,时间设定为5:
00,单击“确定”。
5.单击“确定”,退出。
3.1(提示:
以下各题可以利用SQLServerManagementStudio中的相关生成工具搭好框架)
createprocedureadd_stu
@idint,@namevarchar(20),@enterdatedatetime,@jobvarchar(20),@highnumeric(8,2),@tIDint,@cIDint
as
begin
insertintostudentvalues(@id,@name,@enterdate,@job,@high,@tID,@cID)
end
本题使用存储过程模板(找到指定数据库>
可编程性>
存储过程,右键“新建存储过程”)。
3.2
createfunctionvalid_id
(
@idint
)
returnsint
declare@resultint
ifexists(select*fromstudentwhereid=@id)
set@result=1
else
set@result=0
return@result
本题使用标量函数模板(找到指定数据库>
函数,右键“新建>
标量值函数”)。
3.3
createfunctionget_high
returns@tabtable
(namevarchar(20),highnumeric(8,2),msgvarchar(20))
ifdbo.valid_id(@id)=1
insertinto@tab(name,high)selectname,highfromstudentwhereid=@id
insertinto@tab(msg)values('
该学生不存在'
return
本题使用多语句表值函数模板(找到指定数据库>
多语句表值函数”)。
3.4
createfunctionget_table
@classIDint
returnstable
return(select*fromstudentwhereclassID=@classID)
本题使用内联表值函数模板(找到指定数据库>
内联表值函数”)。
3.5
createproceduredisp_stu
declare@namevarchar(20),@jobvarchar(20),@highnumeric(8,2)
declarec_rscursorfor
selectname,job,highfromstudentwhereclassID=@classID
openc_rs
print'
姓名职位身高'
----------------------------'
fetchnextfromc_rsinto@name,@job,@high
while@@fetch_status=0
begin
print@name+'
'
+@job+'
+cast(@highasvarchar)
fetchnextfromc_rsinto@name,@job,@high
end
closec_rs
deallocatec_rs
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SQL 操作练习题1 操作 练习题
![提示](https://static.bdocx.com/images/bang_tan.gif)