SQL Server数据库实操 第四波 视图、索引
1、创建视图
Create View <视图名>
AS
Select 子查询
2、修改视图
Alter View <要修改的视图名>
AS
Select 子查询
3、删除视图
Drop View <视图名>
4、查询视图
和查询表一样的语句
5、建立索引
CREATE [UNIQUE][CLUSTERED|NONCLUSTERED] INDEX <索引名> ON <表名> ( <列名> [<次序>] [, <列名> [<次序>]] …)
UNIQUE表明此索引的每一个索引值只对应唯一的记录;
CLUSTERED为要创建的是聚簇索引,若无显示声明,默认创建的是非聚簇索引;
<次序>指定索引值的排序方式,包括ASC(升序)和DESC(降序),默认为ASC。
6、删除索引
DROP INDEX<索引名> ON <表名>
7、 查看索引
EXEC SP_HELPINDEX <表名>
课上实训 3个表+12道题
police(pno警号,pid身份证号)
pcase(cno案件编号,cname案件名称,ctype案件类型,cbrief案件简介)
pc(pno警号,cno案件编号,ptime出警时间)
(1) 定义处警信息的视图VIEWPC,其中包括警号,警员姓名,案件编号,案件名称,处警时间;
create view VIEWPC
as
select police.pno,police.pname,pcase.cno,pcase.cname,pc.ptime
from pc,pcase,police
where police.pno=pc.pno and pc.cno=pcase.cno
(2) 定义2021年前处警的处警信息视图VIEWPC2021,其中包括警号,案件编号,处警时间;
create view VIEWPC2021
as
select pno,cno,ptime
from pc
where datepart(yy,ptime)<2021
(3) 建立警号及处警次数的视图;
create view VIEW警员处警次数
as
select pno,count(pno) as 处警次数
from pc
group by pno
(4) 在VIEWPC中找出2020年10月1日之前处警的记录;
select pno,pname,cno,cname,ptime
from VIEWPC
where ptime<'2020-10-01'
(5) 定义警员视图VIEWP,其中包括警号,警员姓名,警衔;
create view VIEWP
as
select pno,pname,prank
from police
(6) 在VIEWP中把杨刚的警衔改为三级警督;
update VIEWP
set prank='三级警督'
where pname='杨刚'
(7) 在警号及处警次数视图中,查询处警2次(包含2次)及以上的信息;
select VIEWPC.pno,VIEWPC.pname,VIEWPC.cno,VIEWPC.cname,VIEWPC.ptime,VIEW警员处警次数.处警次数
from VIEW警员处警次数,VIEWPC
where VIEW警员处警次数.pno=VIEWPC.pno and (VIEW警员处警次数.处警次数>2 or VIEW警员处警次数.处警次数=2)
(8) 修改视图VIEWPC2021,改为2020年前处警的处警信息视图;
alter view VIEWPC2021
as
select pno,cno,ptime
from pc
where datepart(yy,ptime)<2020
(9)删除上述建立的视图VIEWP、VIEWPC;
drop view VIEWP,VIEWPC
(10)在警员信息表的警衔属性列上创建非聚簇索引Idx_Prank,要求按照警衔的升序排序;
create index Idx_Prank on police(prank)
(11)查看警员信息表上建立的索引;
EXEC sp_helpindex Idx_Prank
(12)删除索引Idx_Prank
drop index Idx_Prank on police
SQL Server数据库实操 第四波 视图、索引相关推荐
- SQL Server数据库实操 第五波 完整性约束和触发器
课上实训 3个表+16道题 police(pno警号,pid身份证号) pcase(cno案件编号,cname案件名称,ctype案件类型,cbrief案件简介) pc(pno警号,cno案件编号,p ...
- SQL Server数据库实操 第二波 集合查询、datepart()
1.集合查询 并操作UNION (相当于or) 交操作INTERSECT (相当于and) 差操作EXCEPT 2.写第5题时重要的参考 数据库SQL语句中 查询选修了全部课程的学生的学号和姓名 - ...
- SQL Server数据库实操 第三波 数据更新
1. 插入数据 Insert into <表名> [(属性列1,属性列2--)] values(常量1,常量2--) 或者 Select [ALL|Distinct] <目标列> ...
- SQL Server数据库实操 第一波 数据查询
课上实训 3个表+15道题 警员信息police(pno警号,pid身份证号) 接警信息pcase(cno案件编号,cname案件名称,ctype案件类型,cbrief案件简介) 处警信息pc(pno ...
- 合肥工业大学—SQL Server数据库实验五:创建和删除索引
创建和删除索引 1. 用SQL语句建立索引 2. 用SQL语句删除索引Stuspno 1. 用SQL语句建立索引 (1)应用场景:在教务管理系统中,经常需要通过学生的姓名查询学生的基本信息,学生人数大 ...
- 如何记录SQL Server数据库对象
介绍 (Introduction) In any good programming reference, you will read that a developer has to document ...
- 如何对AWS RDS SQL Server数据库进行分类
This article gives you an overview of cataloging AWS RDS SQL Server database objects like tables and ...
- SQL Server数据库中批量导入数据的四种方法总结
在软件项目实施的时候,数据导入一直是项目人员比较头疼的问题.其实,在SQL Server中集成了很多成批导入数据的方法.有些项目实施顾问头疼的问题,在我们数据库管理员眼中,是小菜一碟.现在的重点就是, ...
- VS2017操做sql server数据库
VS2017操做sql server数据库 安装sql server数据库 摸鱼怪在这里就不总结了,相信大家都会,实在不行就去问问度娘吧! 摸鱼怪在这里提醒大家,如果版本太新可能会出现不兼容问题,最开 ...
最新文章
- MySQL数据库多种安装方法及企业级安装实践
- USB 2.0 全速 FULL SPEED 和高速 HIGH SPEED 的区别
- 每日一皮:为这位姑娘的回答鼓掌!
- 初探swift语言的学习笔记十一(performSelector)
- leetcode172. 阶乘后的零 最快算法
- 工作与生活平衡(2)运动也需要执行力
- 5g上行速率怎么提升_揭秘联发科5G独家技术,攻克上行覆盖和终端功耗两大技术难题...
- xtragrid 某个值 查找_二分查找(下):如何快速定位IP对应的省份地址?
- Hadoop Hive概念学习系列之HiveQL编译基础(十)
- java list to byte_java – 将ArrayList转换为byte []
- SpringBoot+jersey实现
- CAD地形图等高线标高批量取整工具,解决等高线标高出现小数的问题,等高线高程批量取整,在指定限差内将等高线标高修改为最接近的整数
- 视频课程:CMOS模拟集成电路设计--已上线
- 怎么删除映射网络里的计算机,win10系统删除右键中“映射网络驱动器和断开网络驱动器”选项的详细办法...
- 服务器pe安装win7系统安装教程,win7pe装系统步骤详解
- WRF模式运行及相关问题的解决
- Hibernate Session.get()和Session.laod()的区别
- 设计模式(二)-------------- 工厂模式
- yapi 权限_YAPI安装方法
- JAVA--四大基本流
热门文章
- 2021计算机系统大作业 CSAPPHello‘s P2P
- Eclipse将项目部署tomcat的webapps目录
- 1.44寸TFT-LCD显示屏取模教程
- 第23节 软件构件技术和软件体系结构
- 开源文件文档在线预览项目解决方案kkFileView本地搭建运行与Docker部署运行
- Python分析香港26281套在售二手房数据!寸土寸金啊!
- Linux的recovery分区编译,Recovery移植之高级小白教程——Recovery的编译
- 某线下水果店销售数据分析
- 安装原始设备制造商 USB 驱动程序
- 今天我在CSDN开通我的技术博客,与非技术博客分开