mysql优化之视图(定义、查看、使用、删除、作用、修改)
程序员文章站
2022-03-28 08:32:47
视图视图介绍视图(View)是一种虚拟存在的表,对于使用视图的用户来说基本上是透明的。视图并不在数据库中实际存在,行和列数据来自定义视图的查询中使用的表,并且是在使用视图时动态生成的。定义视图create view 视图名称 as select 语句SELECT * FROM provinces;CREATE VIEW v_pro AS SELECT * FROM provinces;SELECT * FROM v_pro;查看视图show tables;使用视图select...
视图
视图介绍
视图(View)是一种虚拟存在的表,对于使用视图的用户来说基本上是透明的。视图并不在数据库中实际存在,行和列数据来自定义视图的查询中使用的表,并且是在使用视图时动态生成的。
定义视图
create view 视图名称 as select 语句
SELECT * FROM provinces;
CREATE VIEW v_pro AS SELECT * FROM provinces;
SELECT * FROM v_pro;
查看视图
show tables;
使用视图
select * from v_pro;
删除视图
drop view 视图名称;
视图的作用
- 简单:提高了重用性,就像一个函数。
- 安全:提高了安全性能,可以针对不同的用户,设定不同的视图。
- 数据独立:一旦视图的结构确定了,可以屏蔽表结构变化对用户的影响,源表增加列对视图没有影响;源表修改列名,则可以通过修改视图来解决,不会造成对访问者的影响
视图的修改
有下列内容之一,视图不能做修改
- select子句中包含distinct
- select字句中包含组函数
- select语句中包含group by子句
- selecy语句红包含order by子句
- where子句中包含相关子查询
- from字句中包含多个表
- 如果视图中有计算列,则不能更新
- 如果基表中有某个具有非空约束的列未出现在视图定义中,则不能做insert操作。
本文地址:https://blog.csdn.net/yanghao8866/article/details/107677488