数据应用达人之SQL基础教程分享12-视图
第四章 SQL的其他特性
(本章会向大家简单的介绍下SQL里的视图、事务管理、游标等内容,至于他们的实际应用,大家还是要根据具体的DBMS再做进一步的了解与学习)
鹰眼般的视角-视图
1.视图
1、视图是什么
【知识点介绍】
SQL中,我们把视图VIEW定义为一个基于SQL语句结果的可视化的表,本身不含数据,数据都是动态生成的。
视图包含了虚拟的行和列,类似一个虚拟的表,也叫虚表。我们可以对视图添加函数、进行SQL操作等等,且这并不会影响到原来的表。
那么视图到底有什么用呢?
我们在学习本章之前,机器人又为我们扩充了一张表StUnion(学生会表),它包含了学号ID、学生会编号UID、姓名SName、职务Post(数据类型是是VARCHAR(20)):
假如我们现在要查询有干事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是没有数据的):
【任务】
试着使用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
上一篇: 详解Angular中的路由及其用法
下一篇: 晟松的代码学习日志之hexify.c