【mysql】二、mysql的学习---视图
mysql的学习
资料来源 https://www.bilibili.com/video/BV1CZ4y1M7MQ?from=search&seid=3518646188262100291
三、存储过程和函数:【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
持续更新!!!