当前位置: 移动技术网 > IT编程>数据库>Mysql > mysql优化之视图(定义、查看、使用、删除、作用、修改)

mysql优化之视图(定义、查看、使用、删除、作用、修改)

2020年07月30日  | 移动技术网IT编程  | 我要评论
视图视图介绍视图(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

如您对本文有疑问或者有任何想说的,请 点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网