【mysql】二、mysql的学习---视图

mysql的学习

资料来源 https://www.bilibili.com/video/BV1CZ4y1M7MQ?from=search&seid=3518646188262100291

一、索引:【mysql】一、mysql的学习---索引

二、视图:【mysql】二、mysql的学习---视图

三、存储过程和函数:【mysql】三、mysql的学习---存储过程和函数

四、触发器:【mysql】四、mysql的学习---触发器

五、存储引擎:【mysql】五、mysql的学习---存储引擎

六、SQL优化:【mysql】六、mysql的学习---SQL优化

七、应用优化:【mysql】七、mysql的学习---应用优化

八、查询缓存:【mysql】八、mysql的学习---查询缓存

九、内存优化:【mysql】九、mysql的学习---内存优化

十、Mysql并发参数调整和锁: 【mysql】十、mysql的学习---Mysql并发参数调整和锁

十一、常用的SQL技巧:【mysql】十一、mysql的学习---常用的sql技巧

本篇文章主要介绍 视图 的相关知识

 

1. 视图的概述

# 视图是一种虚拟存在的表。视图并不在数据库中实际存在,行和列数据来自自定义视图的查询中使用的表,并且是在使用视图时动态生成的。通俗的讲,视图就是一条select语句执行后返回的结果集。所以我们在创建视图的时候,主要的工作就落在创建这条sql查询语句上。
# 视图相对于普通的表的优势主要包括以下几项:
(1)简单:使用视图的用户完全不需要关心后面对应的表的结构、关联条件和筛选条件,对用户来说已经是过滤好的复合条件的结果集。
(2)安全:使用视图的用户只能访问他们被允许查询的结果集,对表的权限管理并不能限制到某个行某个列,但是通过视图就可以简单的实现。
(3)数据独立:一旦视图的结构确定了,可以屏蔽表结构对用户的影响,源表增加列对视图没有影响;源表修改列名,则可以通过修改视图来解决,不会造成对访问者的影响。

2. 视图的语法

2.1 创建视图

-- 首先定义视图的数据源
select c.*,t.country_name from city c,country t where c.country_id = t.country_id
-- 创建视图
create view view_city_country as select c.*,t.country_name from city c,country t where c.country_id = t.country_id
-- 视图的结果如下:
city_id city_name country_id country_name
1 西安市 1 China
2 NewYork 2 America
3 北京 1 China
4 上海 1 China

2.2 修改视图

-- 修改视图
update view_city_country set city_name = '西安市' where city_id = 1
-- 修改后结果如下:(修改的是真实表的数据,而非单单视图的显示)
city_id city_name country_id country_name
1 西安市 1 China
2 NewYork 2 America
3 北京 1 China
4 上海 1 China

2.3 查看视图

-- 查看所有表和视图
show tables
-- 查看所有视图
show table status where comment='view';
-- 查看创建视图的语句
show create view view_city_country

2.4 删除视图

drop view if exists view_city_country

 

 

 

 

 

持续更新!!!

posted @ 2021-04-30 15:29  夏夜凉凉  阅读(106)  评论(0编辑  收藏  举报