首页  >  文章  >  数据库  >  介绍mysql中视图的概念及操作

介绍mysql中视图的概念及操作

零下一度
零下一度原创
2017-05-08 14:58:521535浏览

概念

  <a href="http://www.php.cn/code/8708.html" target="_blank">视图</a>是一种虚拟存在的表,对于使用视图的用户来说,基本上跟使用正常的表一样。视图在数据库中是不存在的,视图中的数据是动态生成的。
  视图相对于普通表的优势:

  • 简单:使用视图不需要关心后面的表的对应结构条件,对于使用者来说,视图是过滤好的结果集。

  • 安全:使用者只能访问他们被允许查询的结果集。

  • 数据独立:一旦视图结构确定,对实际表的改变对视图使用者是没有影响的。

视图操作

视图操作分为创建视图修改视图<a href="http://www.php.cn/php/php-tp-remove.html" target="_blank">删除</a>视图查看视图定义

创建视图,修改视图

#创建视图
create [or replace] [algorithm={undefined|merge|temptable}]
view view_name[(column_list)]
as select_statement
[with[cascaded|local] check option]

# 修改视图
alter [algorithm={undefined|merge|temptable}]
view view_name[(column_list)]
as select_statement
[with[cascaded|local] check option]

举例:

create view view_test as
select t1.sid,t1.username,t2.department
from test1 t1 left join test2 t2 on t1.sid=t2.sid;

介绍mysql中视图的概念及操作

创建视图

说明:

  • from关键字后面不能包含子查询;

  • 不能更新的视图:包含聚合函数/group/distinct/having/union,常量视图,select中包含子查询,jion,from一个不能更新的视图,where中子查询引用from子句中的表。

  • with[cascaded|local] check option 绝对是否允许更新数据使记录不再满足视图条件。其中local-只需满足本视图条件就可以更新cascaded-必须满足所有针对该视图的所有视图的条件才可以更新。默认为cascaded。

查看视图数据

同普通表

select * from view_test;

介绍mysql中视图的概念及操作

查看视图数据

删除视图

#删除视图
drop view [if exists] view_name [,view_name2]...[restrict|cascade]

#举例
drop view view_test;

查看视图状态

从MySQL5.1开始,使用show tables命令的时候不仅显示表名还显示视图名称。

【相关推荐】

1. 免费mysql在线视频教程

2. MySQL最新手册教程

3. 数据库设计那些事

以上是介绍mysql中视图的概念及操作的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn