欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-03-04 22:01:52
...

第四章 SQL的其他特性

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


鹰眼般的视角-视图

1.视图

1、视图是什么

【知识点介绍】

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


数据应用达人之SQL基础教程分享12-视图
            
    
    博客分类: SQL 数据库 数据应用 视图view 
 

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

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进行创建。
语法如下:

CREATE VIEW 视图名 AS
SELECT语句;

 

 

根据上一节的例子,机器人帮我们把原来的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是没有数据的):


数据应用达人之SQL基础教程分享12-视图
            
    
    博客分类: SQL 数据库 数据应用 视图view 
 

【任务】

试着使用myview来完成查询。

【提示】

SELECT * FROM myview
WHERE Post = 'Officer';

 

【校验】

使用视图查询则为成功。

【代码模板】

SELECT
WHERE Post = 'Officer';

 

3、修改删除视图

【知识点介绍】

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

CREATE OR REPLACE VIEW 视图 AS
SELECT[子句]
FROM 表
WHERE[子句];
-- 更新视图

DROP VIEW 视图;
-- 删除视图

 

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

4、小结

【知识点介绍】

视图是一张虚拟表,实际上是一个查询语句,总的来说,使用视图有这些好处:
视图的使用可以简化复杂的表联结;
可以将检索的数据格式化输出;
可以过滤掉不想要的数据。

如果你想了解更多有关视图的内容,不妨按你的需求去查找相应的数据库软件的视图资料吧,比较视图在不同的DBMS里用法是有所不同的。

 

下文待续。。。。。。

 

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

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

http://www.lechuangzhe.com/homepage

  • 数据应用达人之SQL基础教程分享12-视图
            
    
    博客分类: SQL 数据库 数据应用 视图view 
  • 大小: 13.9 KB
  • 数据应用达人之SQL基础教程分享12-视图
            
    
    博客分类: SQL 数据库 数据应用 视图view 
  • 大小: 14.6 KB
相关标签: 视图 view