教学示例操作的TSQL语句.docx

上传人:b****7 文档编号:10803719 上传时间:2023-02-23 格式:DOCX 页数:20 大小:20.24KB
下载 相关 举报
教学示例操作的TSQL语句.docx_第1页
第1页 / 共20页
教学示例操作的TSQL语句.docx_第2页
第2页 / 共20页
教学示例操作的TSQL语句.docx_第3页
第3页 / 共20页
教学示例操作的TSQL语句.docx_第4页
第4页 / 共20页
教学示例操作的TSQL语句.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

教学示例操作的TSQL语句.docx

《教学示例操作的TSQL语句.docx》由会员分享,可在线阅读,更多相关《教学示例操作的TSQL语句.docx(20页珍藏版)》请在冰豆网上搜索。

教学示例操作的TSQL语句.docx

教学示例操作的TSQL语句

教学示例操作的T-SQL语句

项目二创建和管理数据库

任务一创建“教学管理数据库”

操作二用createdatabase语句创建数据库

createdatabase教学管理数据库

onprimary

(name=Pri_教学管理1,

filename=’D:

\教学管理\Pri_教学管理1.mdf’,

size=10MB,

maxsize=60MB,

filegrowth=5MB

),

filegroupUserFleGrp

(name=Snd_教学管理1,

filename=’d:

\教学管理\Snd_教学管理1.ndf’,

size=10MB,

maxsize=60MB,

filegrowth=5MB

logon

(name=LF_教学管理1,

filename=’d:

\教学管理\LF_教学管理1.ldf’,

size=10MB,

maxsize=60MB,

filegrowth=5MB

任务二修改数据库

操作二用alterdatabase语句修改数据库

(1)向主要文件组增加数据文件

alterdatabase教学管理数据库

Addfile

(name=Pri_教学管理2,

filename='d:

\教学管理\Pri_教学管理2.ndf',

size=10MB,

maxsize=60MB,

filegrowth=5MB

(2)向用户定义文件组增加数据文件

alterdatabase教学管理数据库

Addfile

(name=Snd_教学管理2,

filename='d:

\教学管理\Snd_教学管理2.ndf',

size=10MB,

maxsize=60MB,

filegrowth=5MB

tofilegroupUserFleGrp

(3)增加事务日志文件

alterdatabase教学管理数据库

Addlogfile

(name=LF_教学管理2,

filename='d:

\教学管理\LF_教学管理2.ldf',

size=10MB,

maxsize=60MB,

filegrowth=5MB

(4)修改排序规则

alterdatabase教学管理数据库

collateChinese_PRC_CI_AS

任务三删除数据库

操作二用dropdatabase语句删除数据库

dropdatabase教学管理数据库

项目三创建与管理表

任务一创建“学生表”

操作二用createtable语句创建表

createtable学生表

学生编号char(4)NOTNULL,

学生姓名varchar(10),

所属专业编号char(3),

所属班级编号char(3),

职务varchar(6),

性别int,

出生日期datetime,

籍贯varchar(50),

入学日期datetime

任务二修改表结构

操作二用altertable语句修改表结构

altertable学生表

altercolumn学生编号char(4)

altertable学生表

altercolumn学生编号char(4)

altertable学生表

altercolumn性别bit

altertable学生表

altercolumn籍贯varchar(50)

任务三向“学生表”插入记录

操作二用insert语句插入记录

insertinto学生表

(学生编号,学生姓名,所属专业编号,所属班级编号,职务,性别,出生日期,籍贯,入学日期)

values

('X001','宋小南','Z01','B01','班长',0,'1980-8-1','黑龙江省哈尔滨市','2001-9-1')

insertinto学生表

(学生编号,学生姓名,所属专业编号,所属班级编号,职务,性别,出生日期,籍贯,入学日期)

values

('X010','包海中','Z03','B05','班长',1,'1980-11-8','新疆乌鲁木齐市','2003-9-1')

insertinto学生表

(学生编号,学生姓名,所属专业编号,所属班级编号,职务,性别,出生日期,籍贯,入学日期)

values

('X011','郑贤淑','Z03','B05','学生',0,'1984-9-7','北京市','2003-9-1')

insertinto学生表

(学生编号,学生姓名,所属专业编号,所属班级编号,职务,性别,出生日期,籍贯,入学日期)

values

('X012','王忆浦','Z03','B06','班长',0,'1982-3-21','云南省昆明市','2004-9-1')

insertinto学生表

(学生编号,学生姓名,所属专业编号,所属班级编号,职务,性别,出生日期,籍贯,入学日期)

values

('X013','薛智','Z03','B06','学生',1,'1976-1-1','上海市','2004-9-1')

--向“学生表”插入记录

go

任务四修改“学生表”记录

操作二用update语句修改记录

update学生表

set出生日期=’1979-5-6’,

籍贯=’黑龙江省齐齐哈尔市’

where学生编号=’X006’

任务五删除“学生表”记录

操作二用delete语句删除记录

deletefrom学生表

where学生编号=’X009’

任务六删除表

操作二用droptable语句删除表

droptable学生表

项目四设置主键、外键和索引

任务一为“学生表”设置主键

操作三在createtable语句中设置主键

createtable学生表

学生编号char(4)primarykey,

学生姓名varchar(10),

所属专业编号char(3),

所属班级编号char(3),

职务varchar(6),

性别bit,

出生日期datetime,

籍贯varchar(50),

入学日期datetime

操作四在altertable语句中设置主键

altertable学生表

addprimarykey(学生编号)

操作五在altertable语句中移除主键

altertable学生表

dropPK_学生表

任务二定义“学生表”与“专业表”的关系

操作二在createtable语句中定义关系

createtable专业表

专业编号char(3)primarykey,

专业名称varchar(30)

createtable学生表

学生编号char(4)primarykey,

学生姓名varchar(10),

所属专业编号char(3)constraintFK_学生表_专业表foreignkeyreferences专业表(专业编号),

所属班级编号char(3),

职务varchar(6),

性别bit,

出生日期datetime,

籍贯varchar(50),

入学日期datetime

go

操作三在altertable语句中定义关系

altertable学生表

addforeignkey(所属专业编号)references专业表(专业编号)

操作五在altertable语句中删除关系

altertable学生表

dropFK_学生表_专业表

任务三为“学生表”定义索引

操作二用createindex语句定义索引

createuniqueindexIX_课程表

on课程表(课程名称)

操作三用dropindex语句删除索引

dropindexIX_课程表

项目五用对单一表查询实现学籍管理

任务一用简单查询显示学生信息

操作一显示“学生姓名”、“职务”和“入学日期”等指定列

select学生姓名,

职务,

入学日期

from学生表

操作二使用表达式对列计算并显示学生的年龄

select学生姓名,

籍贯,

出生日期,

year(getdate())-year(出生日期)

from学生表

操作三用where子句限制返回行

select学生姓名,

所属班级编号,

职务,

year(getdate())-year(出生日期)as年龄

from学生表

where(year(getdate())-year(出生日期))>=25and(year(getdate())-year(出生日期))<=30

操作四使用like的模糊查询显示籍贯为黑龙江省的学生记录

select学生姓名,

籍贯,

出生日期

from学生表

where籍贯like‘黑龙江省%’

操作五用between…and…设置闭合区间

select学生姓名,

籍贯,

出生日期,

year(getdate())-year(出生日期)as年龄

from学生表

orderby出生日期asc

操作六使用orderby对查询结果排序

select学生姓名,

籍贯,

出生日期,

year(getdate())-year(出生日期)as年龄

from学生表

orderby出生日期asc

任务二使用函数管理学籍

操作一用distinct消除相同行

selectdistinct籍贯

from学生表

orderby籍贯

操作二用case…when…分类处理

select学生姓名,

籍贯,

性别,

case性别when0then'女'

when1then'男'

endas学生性别

from学生表

操作三用convert转换数据类型

select学生姓名,

籍贯,

'生日为'+convert(varchar,出生日期,21)as出生日期

from学生表

操作四用substring截取字符串

select学生姓名,

籍贯,

'生日为'+substring(convert(varchar,出生日期,121),1,10)as出生日期

from学生表

项目六用聚合函数统计成绩

任务一统计成绩

操作一用max和min查询最高成绩和最低成绩

selectmax(成绩)as最高成绩,

min(成绩)as最低成绩

from成绩表

where选修课程编号='K01'

操作二用sum计算总成绩

selectsum(成绩)as总成绩

from成绩表

where选修课程编号='K01'

操作三用count计算参与考试的学生总数

selectcount(*)as参与考试总人数

from成绩表

where班级编号='B01'

and选修课程编号='K01'

操作四用avg计算平均成绩

selectsum(成绩)as总成绩,

count(*)as参与考试总人数,

avg(成绩)as平均成绩

from成绩表

where班级编号='B01'

and选修课程编号='K01'

任务二分组和筛选统计结果

操作一用groupby对统计结果分组

select班级编号,

sum(成绩)as总成绩,

count(*)as总人数,

avg(成绩)as平均成绩

from成绩表

where选修课程编号='K01'

groupby班级编号

操作二用having筛选分组统计结果

select班级编号,

选修课程编号,

sum(成绩)as总成绩,

count(*)as总人数,

avg(成绩)as平均成绩

from成绩表

groupby班级编号,选修课程编号

havingavg(成绩)>=80

orderby班级编号asc,

选修课程编号desc

任务三用子查询作成绩对比

操作一使用any的子查询

select*

from成绩表

where班级编号='B02'

and选修课程编号='K01'

and成绩>any(select成绩

from成绩表

where班级编号='B01'

and选修课程编号='K01')

操作二使用all的子查询

select*

from成绩表

where班级编号='B02'

and选修课程编号='K01'

and成绩>all(select成绩

from成绩表

where班级编号='B01'

and选修课程编号='K01')

项目七创建和使用视图

任务一创建视图

操作二用createview语句创建“学籍管理视图”

createview学籍管理视图

as

select所属班级编号asClassNo,

学生姓名asStudentName,

职务asDuty

from学生表

任务二使用视图

操作一对“住宿管理视图”查询

selectStudentNameas姓名,

NativePlaceas籍贯,

caseSexwhen1then'男'

when0then'女'

endas性别

from住宿管理视图

whereBirthday>'1980-1-1'

操作二用“住宿管理视图”视图对“学生表”添加记录

insertinto住宿管理视图

(StudentNo,StudentName,Sex,NativePlace,Birthday)

values

('X020','吕子布',1,'黑龙江省哈尔滨市','1982-6-6')

insertinto住宿管理视图

(StudentNo,StudentName,Sex,NativePlace,Birthday)

values

('X021','边复哲',1,'黑龙江省齐齐哈尔市','1983-7-7')

操作三用“学籍管理视图”视图修改“学生表”的记录

update学籍管理视图

setClassNo='B03'

whereStudentName='郑贤淑'

andClassNo='B05'

操作四用“学籍管理视图”视图删除“学生表”的记录

deletefrom学籍管理视图

whereClassNo='B06'

andStudentName='薛智'

任务三删除视图

操作二用dropview语句删除“学籍管理视图”

dropview学籍管理视图

项目八用多表联接查询管理教学计划

任务一两个表的内联接查询

操作一“课程表”和“教师表”的内联接查询

selectA.课程名称,

A.课时,

A.教师编号,

B.教师姓名as授课教师姓名

from课程表A

innerjoin教师表B

onA.教师编号=B.教师编号

selectA.课程名称,

A.课时,

A.教师编号,

B.教师姓名as授课教师姓名

from课程表A,

教师表B

whereA.教师编号=B.教师编号

selectA.课程名称,

A.课时,

A.所属专业编号,

C.专业名称,

A.教师编号,

B.教师姓名as授课教师姓名

from课程表A

innerjoin教师表B

onA.教师编号=B.教师编号

innerjoin专业表C

onA.所属专业编号=C.专业编号

操作二“课程表”与“教师表”的自然联接

select课程名称,

课时,

所属专业编号,

专业名称,

教师姓名as授课教师姓名

from课程表A

innerjoin教师表B

onA.教师编号=B.教师编号

innerjoin专业表C

onA.所属专业编号=C.专业编号

操作三对“课程表”的自联接

selectA.课程编号as课程编号A,

A.课程名称as课程名称A,

A.教师编号as教师编号A,

B.课程编号as课程编号B,

B.课程名称as课程名称B,

B.教师编号as教师编号B

from课程表A

innerjoin课程表B

onA.教师编号=B.教师编号

任务二两个表的外联接查询

操作一“教师表”与“课程表”的左联接查询

selectA.教师编号,

A.教师姓名,

A.职务,

isnull(B.课程名称,'无授课安排')as授课安排

from教师表A

leftjoin课程表B

onA.教师编号=B.教师编号

orderby教师姓名

操作二“教师表”与“课程表”的右联接查询

selectisnull(A.教师姓名,'无授课教师')as授课教师,

B.课程编号,

B.课程名称,

B.课时

from教师表A

rightjoin课程表B

onA.教师编号=B.教师编号

操作三“教师表”与“课程表”的全联接查询

selectisnull(A.教师姓名,'无授课教师')as授课教师,

isnull(B.课程名称,'无授课安排')as授课安排

from教师表A

fulljoin课程表B

onA.教师编号=B.教师编号

操作四用交叉联接生成“学生考勤记录”

selectA.学生编号,

A.学生姓名,

B.考勤日期,

B.上学时间,

B.放学时间

from学生表A

crossjoin考勤表B

orderbyA.学生姓名

任务三用子查询检查教学计划

操作一使用in的子查询

select教师编号,

教师姓名,

职务

from教师表

wherertrim(教师编号)notin(selectdistinctrtrim(教师编号)

from课程表

where教师编号isnotnull)

操作二使用exist的子查询

select教师姓名,

职务,

year(getdate())-year(出生日期)as年龄

from教师表

whereexists(select*

from课程表

where教师编号isnull)

and教师编号notin(selectdistinct教师编号

from课程表

where教师编号isnotnull)

项目九备份和还原数据库

任务一创建“教学管理数据库备份设备”

操作二用sp_addumpdevice创建备份设备

execsp_addumpdevice

'disk',

'教学管理数据库备份设备',

'D:

\备份\教学管理数据库备份设备.bak'

任务二备份“教学管理数据库”

操作二用backupdatabase语句备份数据库

backupdatabase教学管理数据库

file='Pri_教学管理1',

file='Snd_教学管理1',

filegroup='PRIMARY',

filegroup='UserFleGrp'

to教学管理数据库备份设备

任务三还原“教学管理数据库”

操作二用restoredatabase语句还原数据库

restoredatabase教学管理数据库

from教学管理数据库备份设备

restoredatabase教学管理数据库

file=‘Pri_教学管理1’,

file=‘Snd_教学管理1’

from教学管理数据库备份设备

restoredatabase教学管理数据库

filegroup=‘PRIMARY’,

filegroup=‘UserFleGrp’

from教学管理数据库备份设备

restorelog教学管理数据库

from教学管理数据库备份设备

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 面试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1