码迷,mamicode.com
首页 > 数据库 > 详细

MySQL视图

时间:2021-03-29 11:54:52      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:name   tab   sel   限制用户   mysql   组合   开发人员   form   sele   

视图概述

MySQL5.0版本之后支持视图
视图能够方便开发热源对数据进行增删改查等操作
访问视图能够根据相应的权限来限制用户直接访问数据库的数据表
保障数据库的安全性

视图的概念

1 视图可以由数据库中的一张表或者多张表生成,结构与数据表蕾丝
2 视图中的数据也是由一张表或多张表中的数据组合而成
3 可以对视图中的数据进行增删改查等操作,也可以修改视图结构
4 视图不会保存数据,数据真正保存在数据表中
5 视图与数据表数据同步更新

视图的优点

操作简单

1 可以将经常使用的查询操作定义为视图
2 可以使开发人员不用关心
3     数据表的结构,
4     表于表之间的关联关系
5     数据表之间的业务逻辑和查询条件
6 极大的简化开发人员对数据库的操作

数据安全

1 MySQL根据权限将用户对数据的访问限制在某些数据的结果集上,而这些数据的结果集可以用使用视图来实现
2 不必直接查询或操作数据表
3 保证了数据的安全性

数据独立

1 视图的结构是创建之初确定的
2 当数据表的结构发生变化不会影响视图的结构
3 如果数据表的字段发生变化,只需要简单修改查询语句
4 不会影响用户对数据的查询操作

适应灵活多变的需求

当业务需求发生变化,修改数据表的结构工作量较大,可以使用视图来减少改动的工作量
实际工作中使用较多

能够分解复杂的查询逻辑

数据库中如果存在复杂的查询逻辑,则可以将问题分解,创建多个视图获取数据,再将多个视图结合起来,完成复杂查询

创建视图

create view view_name as SQL查询;

创建单表视图

create view user_view1 as select * from user;
create view user_view2 as select name,shell from user;
create view user_view3 (nameview, shellview) as select name,shell from user;
create view user_view4 as select * from user where shell="bash";

创建多表联合视图

查看视图

show tables;
desc view_name;
show table status kile view_name;
show create view view_name;
select * from information_schema.views\G

修改视图的结构

create view view_name as SQL语句;

create  or replace view view_name;
如果不存在就创建,存在就更新
alter 
除了alter语句外,其它与create相同

 

更新视图的数据

insert into 
update view_name set cloumn="99" where;
也可以通过修改数据表的数据间接修改视图中的数据

删除视图

drop view view_name;

 

MySQL视图

标签:name   tab   sel   限制用户   mysql   组合   开发人员   form   sele   

原文地址:https://www.cnblogs.com/huakai201/p/14583558.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!