数据应用达人之SQL基础教程分享12-视图

xiaoxiao2021-02-28  130

第四章 SQL的其他特性

(本章会向大家简单的介绍下SQL里的视图、事务管理、游标等内容,至于他们的实际应用,大家还是要根据具体的DBMS再做进一步的了解与学习)


鹰眼般的视角-视图

1.视图

1、视图是什么

【知识点介绍】

SQL中,我们把视图VIEW定义为一个基于SQL语句结果的可视化的表,本身不含数据,数据都是动态生成的。 视图包含了虚拟的行和列,类似一个虚拟的表,也叫虚表。我们可以对视图添加函数、进行SQL操作等等,且这并不会影响到原来的表。 那么视图到底有什么用呢? 我们在学习本章之前,机器人又为我们扩充了一张表StUnion(学生会表),它包含了学号ID、学生会编号UID、姓名SName、职务Post(数据类型是是VARCHAR(20)):

 

假如我们现在要查询有干事Officer职务的学生的ID、姓名、学分信息,我们需要连接student表和StUnion表进行查询。

Sql代码  SELECT student.ID,student.SName,stunion.Post,student.Credit FROM student,stunion   WHERE student.ID = stunion.ID   AND stunion.Post = 'Officer';  

 

 

那么如果我们把整个查询包装到一个视图里,查询就变的十分简单了。 创建怎样的视图?又如何创建呢? 点击进入下一课吧。 (Access不支持视图,SQLite只支持只读视图)

2、创建、使用视图

【知识点介绍】

创建视图和创建表的语法类似,都是使用CREATE进行创建。 语法如下:

Sql代码  CREATE VIEW 视图名 AS   SELECT语句;  

 

 

根据上一节的例子,机器人帮我们把原来的SQL创建成视图:

Sql代码  CREATE VIEW myview AS   SELECT student.ID,student.SName,stunion.Post,student.Credit FROM student,stunion   WHERE student.ID = stunion.ID;  

 

 

这个时候再用myview去查询之前要求的内容就方便多了。 实际上这个时候myview就是一张虚拟的表,它的内容是这样的(不使用的时候myview是没有数据的):

【任务】

试着使用myview来完成查询。

【提示】

Sql代码  SELECT * FROM myview   WHERE Post = 'Officer';  

 

【校验】

使用视图查询则为成功。

【代码模板】

Sql代码  SELECT   WHERE Post = 'Officer';  

 

3、修改删除视图

【知识点介绍】

修改删除视图,很多内容实际上跟操作表是一致的。

Sql代码  CREATE OR REPLACE VIEW 视图 AS   SELECT[子句]   FROM 表   WHERE[子句];   -- 更新视图      DROP VIEW 视图;   -- 删除视图  

 

而实际上,想要创建、修改、删除视图,在大多数DBMS上是可以很直观的进行操作的。

4、小结

【知识点介绍】

视图是一张虚拟表,实际上是一个查询语句,总的来说,使用视图有这些好处: 视图的使用可以简化复杂的表联结; 可以将检索的数据格式化输出; 可以过滤掉不想要的数据。 如果你想了解更多有关视图的内容,不妨按你的需求去查找相应的数据库软件的视图资料吧,比较视图在不同的DBMS里用法是有所不同的。

 

下文待续。。。。。。

 

欢迎大家前往访问我们的官网:

http://www.datanew.com/datanew/homepage

http://www.lechuangzhe.com/homepage

转载请注明原文地址: https://www.6miu.com/read-18227.html

最新回复(0)