目录

一、实验原理

(一)视图操作SQL语句基本格式

1.创建视图

2.删除视图

(二)索引操作SQL语句基本格式

1.创建索引

2.修改索引

3.删除索引

(三)数据表记录操作SQL语句基本格式

1.SELECT语句一般格式

2.使用索引检索数据

二、实验结果

(一)数据表数据的查询

1.单表查询

(二)视图的操作

1.定义视图

一、实验原理

(一)视图操作SQL语句基本格式

1.创建视图

CREATE  VIEW  <视图名>  [(<列名>  [,<列名>]…)]

AS  <子查询>

[WITH  CHECK  OPTION];

说明:需要指定视图列名的情形

(1) 某个目标列是聚集函数或列表达式

(2) 多表连接时选出了几个同名列

(3) 需要在视图中为某个列启用新的更合适的名字

2.删除视图

DROP  VIEW  <视图名>[CASCADE];

(二)索引操作SQL语句基本格式

1.创建索引

CREATE [UNIQUE] [CLUSTER] INDEX <索引名>

ON <表名>(<列名>[<次序>][,<列名>[<次序>] ]…);

说明

(1)<次序>:指定索引值的排列次序,升序:ASC,降序:DESC。缺省值:ASC

(2)UNIQUE:此索引的每一个索引值只对应唯一的数据记录;CLUSTER:表示要建立的索引是聚簇索引

2.修改索引

ALTER INDEX <旧索引名> RENAME TO <新索引名>

3.删除索引

DROP INDEX <索引名>;

删除索引时,系统会从数据字典中删去有关该索引的描述。

(三)数据表记录操作SQL语句基本格式

1.SELECT语句一般格式

SELECT [ALL|DISTINCT] <目标列表达式> [别名] [ ,<目标列表达式> [别名]] …

FROM     <表名或视图名> [别名]

[ ,<表名或视图名> [别名]] …

|(<SELECT语句>)[AS]<别名>

[WHERE <条件表达式>]

[GROUP BY <列名1>[HAVING<条件表达式>]]

[ORDER BY <列名2> [ASC|DESC]];

2.使用索引检索数据

SELECT……FROM……WITH (INDEX=索引名称) WHERE……

二、实验结果

(实验前请准备好各数据表实验所需数据)你所建的表的名字和学号一定要前后一致。

(一)数据表数据的查询

1.单表查询

(1)设定条件,查询Student表中自己的信息。

SELECT *FROM StudentWHERE Sname='你的名字';

(2)按照成绩降序查看SC表信息

SELECT*FROM SCORDER BY grade DESC;

(3)统计每门课程的选课人数,查询选课人数大于3的课程编号和相应选课人数。

select cno,COUNT(*)from scgroup by cnohaving COUNT(*)>3

(4)按照平均分降序查询每门课程的选课人数、最高分、最低分、总分、平均分,并用别名显示查询结果。

SELECT COUNT(*)选课人数,MAX(grade)最高分,MIN(grade)最低分,sum(grade)总分,AVG(grade)平均分from scgroup by cnoorder by AVG(grade) desc

2.连接查询

(1)查看自己的所有考试成绩,要求查询结果包含姓名、课程名称、成绩信息。

select sname,Cname,gradefrom student,course,scwhere Student.Sno=Sc.Sno and Course.Cno=SC.Cno and sc.Sno='你的学号'

(2)查询1号课程成绩小于2号课程成绩的学生姓名、相应的1号课程和2号课程成绩,成绩通过别名显示为:1号课成绩、2号课成绩

select sname,a.grade 一号成绩,b.grade 二号成绩from sc a,sc b,studentwhere a.sno=b.sno and a.sno=student.sno and a.cno='1'and b.cno='2' and a.grade>b.grade;

3.嵌套查询:查询2号课程成绩高于自己的学生信息。

select *from Studentwhere Snoin(select snofrom SC where Cno='2' and grade>(select gradefrom SC where Sno='你的学号'and Cno=2))

4.集合查询:查询平均成绩大于85且已完成所有选课任务的学生信息。(假设所有课程在SC表均有记录)

select *
from student
where sno in (
select sno
from sc
group by sno
having AVG(grade)>=85)
intersect
select *
from student
where sno in(
select sno
from sc
group by sno
having COUNT(*) =
(
select count(distinct cno)
from sc
)
)

(二)视图的操作

1.定义视图

(1)将查询Student表所有信息作为子查询创建视图,视图名为“VIEW_姓氏首字母”

create VIEW 你的姓氏_StudentASselect *from Student;

(2)将上文的集合查询作为子查询创建视图,要求视图名称为“VIEW_YX”

create VIEW YXASselect *from 你的姓氏_Student;

2.查询,查询所创建视图中姓“李”的学生信息。

Select *From YX where Sdept='YX' and Sname LIKE '李%';

3.更新,通过(1)中所定义视图,更新Student表信息,添加一名学生信息。

insertinto  你的姓氏_Student(sno,sname,ssex,sage,sdept)values('12845678910','王利明','男',20,'IS');

(三)数据表索引操作

1.建立,为每张数据表建立索引,要求至少有一个索引名称为“INDEX_姓名首字母大写”

create unique index 你的姓名大写首字母_StuSno on Student(Sno);create unique index CouCno on Course(Cno);create unique index SCno on SC(Sno asc,Cno desc);

2.打开,使用带有自己姓名的索引查询数据

select *from 你的姓名大写首字母_StuSno where Sno ='你的学号';

3.更新,修改带有自己姓名的索引名称为“INDEX_XSGL”*

alter index 你的姓名大写首字母_StuSno RENAME TO XSGL

4.删除,删除其他两个索引

DROP INDEX CouCno on course;DROP INDEX SCno on sc

数据库视图的创建及使用相关推荐

  1. 带你认识数据库视图对象,下次不要再认成“表”了

    摘要:本文介绍GaussDB(DWS)的数据库视图对象,我们将讨论使用数据库视图的优点和缺点,以及如何使用系统视图解决一些问题. 本文分享自华为云社区<GaussDB(DWS) SQL进阶之数据 ...

  2. 【数据库】MySQL创建视图(CREATE VIEW)

    数据库视图是什么? 创建视图是指在已经存在的 MySQL 数据库表上建立视图.视图可以建立在一张表中,也可以建立在多张表中. 视图的好处? 视图使用的时候跟表一样.主要作用是不让所有的人都能看到整张表 ...

  3. SQL2K数据库开发二十二之索引操作在视图上创建索引

    1.在企业管理器中,右击要创建索引的视图,在弹出的菜单中选择"设计视图"命令进入视图设计器.         2.在视图设计器中显示了视图所包含的列,定义视图的SQL语句以及视图中 ...

  4. 创建数据库_详解Oracle数据库物化视图及创建物化视图索引

    概述 物化视图是一种特殊的物理表,"物化"(Materialized)视图是相对普通视图而言的.普通视图是虚拟表,应用的局限性大,任何对视图的查询,Oracle都实际上转换为视图S ...

  5. SQL数据库语言基础之SqlServer视图的创建、修改与视图数据的增删改查

    文章目录 一.认识视图 二.创建.查询视图 三.修改.删除视图 四.修改视图数据(与操作表一样,只是把table换成view) 一.认识视图 1.视图的理解 从用户角度来看,一个视图是从一个特定的角度 ...

  6. 数据库视图创建及应用

    数据库视图创建及应用 一.视图: 视图是从一个或几个基本表(或视图)导出来的表.它与基本表不同,是一个虚表.数据库中只存放视图的定义,而不存放视图对应的数据,这些数据仍存放在原来的基本表中.所以一旦基 ...

  7. SQL Server 数据库 视图创建

    SQL Server 数据库 视图创建 视图简介: 视图可以看作定义在SQL Server上的虚拟表.视图正如其名字的含义一样,是另一种查看数据的入口. 常规视图本身并不存储实际的数据,而仅仅是由SE ...

  8. Oracle: 三、Oracle的隐藏事务与视图的创建

    内容简介 1,Oracle的隐藏事务.2,视图(View)的创建. 技术与环境 操作系统: windows 语言类别: SQL之PL/SQL thankyou: sunshine, 谢谢你的默默付出 ...

  9. 关于SQL视图的创建和使用方法

    SQL视图的创建和使用 视图这个东西在其他的软件中,我们也经常看得到,例如word中就有视图,我们不难发现,视图似乎是一种显示方式,就像WORD一样,有几种显示版面,这就是视图,那么SQL中的视图又该 ...

最新文章

  1. 2.Azure资源组迁移
  2. Bzoj 1901: Zju2112 Dynamic Rankings 主席树,可持久,树状数组,离散化
  3. qq家园纵横四海的源码
  4. nxlog windows安装部署
  5. 一张图解AlphaGo原理及弱点
  6. 【Android】mina框架使用详情
  7. 路飞学城python开发ftp_路飞学城-Python开发集训-第一章
  8. 求解位置不可用无法访问介质受写入保护咋寻回??
  9. 微信会员卡-创建会员卡接口post参数字段说明
  10. [C语言]显示器【模拟】
  11. 个人微信号API接口搜集
  12. css 实现条纹背景效果
  13. win7计算机时间显示错误,win7系统时间怎么调总是不对如何解决?win7系统时间总是不对解决方法...
  14. Arduino开发:网页控制ESP8266三色LED灯闪烁
  15. 这些线上峰会为何不约而同选择亿联视讯方案?云端协同、流畅安全是关键!
  16. c语言考试系统题库判断和选择,C考试系统题库判断和选择.doc
  17. 利用java实现天气预报设计教程视频_java实现天气预报(解释+源代码)
  18. dEFEND Explainable Fake News Detection 可【解释的假新闻检测】
  19. 关于淘宝用户行为分析及其可视化案例
  20. win10系统笔记本电脑如何外接两个屏幕?

热门文章

  1. 用计算机制作微课教学教案,微课应用于计算机教学
  2. 河池学院计算机宿舍,【2021】河池学院学校食堂环境与寝室宿舍介绍_优优招生网...
  3. 常见的几种网络设备的用途和功能
  4. 字符串经典匹配算法之Sunday算法
  5. 2020胺基化工艺复审模拟考试及胺基化工艺实操考试视频
  6. 黑龙江大学软件测试实验报告
  7. VirtualBox VM 空间瘦身记(vmdk)
  8. CentOS 7 安装Broadcom无线网卡
  9. 树莓派学习笔记——获取树莓派CPU温度
  10. 网络安全知识点梳理(二)