码迷,mamicode.com
首页 > 数据库 > 详细

MySQL 视图

时间:2018-10-24 19:54:03      阅读:146      评论:0      收藏:0      [点我收藏+]

标签:tab   mit   删除   sel   nbsp   .com   因此   理解   select   

一、视图是什么

视图是一种虚拟存在的表。。。。 (啰里啰嗦一大堆,几乎所有的资料都是这么定义的,就把他当成查询缓存就可以)

二、视图有什么用

视图的作用就是缓存数据,可以这么理解,我把一条sql的查询结果装在了一个视图里,我下次再查的时候,就不用走sql了,直接取这个视图里就可以了,神奇的是我可以修改这个视图里的数据,就等于修改了原表数据。

它的优点有很多,什么简单、安全、简化操作、数据独立。。。。(再次省略一万字),然并卵,我在工作中从来没有见到过它。因此只做了解,练习跟着走一遍就可以收工了。

三、视图基本操作

1.我查表

SHOW TABLES;

技术分享图片

 

2.我准备做视图的数据

SELECT r.* FROM tb_role r RIGHT JOIN tb_admin a ON a.id=r.create_id;

技术分享图片

 

3.创建一个视图

CREATE OR REPLACE VIEW view_name_1 AS 
SELECT r.* FROM tb_role r RIGHT JOIN tb_admin a ON a.id=r.create_id;
-- 视图更新有很多限制 比如说 带常量的查询 带limit的查询 带聚合函数的查询 子查询 等等 实际使用中自测一下就行了
-- 视图语法
CREATE VIEW 视图名称 AS 
sql

-- CREATE 后面加 OR REPLACE 代表如果本视图存在则覆盖
-- sql必须是查询类sql sql内容可以是查询视图 也就是说 mysql允许视图嵌套

 

4.我再查表

SHOW TABLES;

技术分享图片

 

5.我查视图内容

SELECT * FROM view_name_1;

技术分享图片

 

6.我修改视图的内容

UPDATE view_name_1 SET STATUS=10  WHERE id=3;

 

7.查一下原数据

SELECT r.* FROM tb_role r RIGHT JOIN tb_admin a ON a.id=r.create_id;

技术分享图片

此时发现原表中的数据也一并被更新了

 

8.删除视图

DROP VIEW view_name_1;

 

9.我再查表

SHOW TABLES;

技术分享图片

 

 

四、个人分享

技术分享图片

 

MySQL 视图

标签:tab   mit   删除   sel   nbsp   .com   因此   理解   select   

原文地址:https://www.cnblogs.com/fengyumeng/p/9845005.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!