美文网首页
视图的学习

视图的学习

作者: 简单Liml | 来源:发表于2018-12-20 15:09 被阅读14次

简单的说,视图是一张虚拟表,可以加快查询速度。
创建视图:CREATE VIEW 视图名(列1,列2...) AS SELECT (列1,列2...) FROM ...;
修改视图:CREATE OR REPLACE VIEW 视图名 AS SELECT [...] FROM [...];
视图条件限制:[WITH CHECK OPTION]

视图的操作方式用实例来说明。
新建表user_first,user_product:


user_first.png
user_product.png

创建视图user_info,user_simple_info:


user_simple_info.png
user_info.png
user_simple_info 视图是user_first的子集,user_info是通过user_id关联的视图。

1.视图的SELECT的使用:
与表的查询方式一致,如:

SELECT a.user_a,a.user_b from user_info a
image.png

2.视图的INSERT的使用:
(1)视图为表的子集:

INSERT into user_simple_info(user_n,user_a) VALUES("插入",108)

视图数据为:


image.png

表数据也同时跟新:


image.png
(2)视图为多表关联:
INSERT into user_info(user_n,user_a,user_b) VALUES("插入",108,"化学")

插入时报错:[Err] 1471 - The target table user_info of the INSERT is not insertable-into
无法插入!
3.视图的UPDATE的使用:
子集视图不再演示,可以更新。
多表关联视图:
更新一张表的数据:

UPDATE user_info a SET a.user_a = 999 WHERE a.user_b = '语文'
image.png

发现视图更新了2条,原因是更新语文这个数据时,user_a来自于同一张表中的同一个数据,数据源改变,导致修改了两条。
更新两张表的数据:

UPDATE user_info a SET a.user_a = 999,a.user_b="haha"
image.png

发现无法修改!
4.视图的DELETE的使用:
(1)视图为表的子集:

DELETE from user_simple_info WHERE user_n = '33'

删除后视图数据:


user_simple_info .png

删除后表数据:


user_first.png
可见视图数据删除可以影响表,这前提是视图字段是表的子集。
(2)视图为多表关联:
DELETE from user_info WHERE user_n = '22'
image.png

无法删除!

上面是简单的对视图进行增删改查,多表关联后的视图,一般操作无法完成。对表的子集的视图可以增删改查。如果对视图操作成功,会影响对应表。一般要修改数据的话,可以直接操作表,从而来改变视图数据。

相关文章

  • 视图的学习

    简单的说,视图是一张虚拟表,可以加快查询速度。创建视图:CREATE VIEW 视图名(列1,列2...) AS ...

  • 室内及家具图样的表达

    这一次我们要学习家具图样的表达,比如,六视图的表达,主视图,俯视图,左视图,后视图,仰视图,右视图,以及家具装配图...

  • MySQL之视图

    SQL语言之视图 前言 本章我们将学习MySQL中的视图,视图是数据库中的重要组件,本文将从视图是什么,视图的作用...

  • 关于视图的学习

    视图是指计算机数据库中的视图,是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。...

  • IOS开发 滚动视图高级功能

    本节学习内容: 1.滚动视图的高级属性 2.滚动视图的协义函数 3.滚动视图的高级使用 【ViewControll...

  • mysql视图学习

    视图 视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据...

  • Linux 学习视图

  • IOS开发 自动布局子视图

    本节学习内容: 1.自动子视图布局的概念 2.自动布局视图的创建 3.自动布局子视图的实现 【ViewContro...

  • 【MYSQL】-1 使用视图

    本周学习了,本文对于之前还未掌握的视图操作进行总结。 视图是什么? 视图是用于查看存储在别...

  • 来自数学课堂的反思

    要学习观察物体(二)从不同的方向看物体。主要是会画物体的三视图,即正视图,俯视图,左视图。孩子们看了,觉得很抽象,...

网友评论

      本文标题:视图的学习

      本文链接:https://www.haomeiwen.com/subject/wjyykqtx.html