Mysql视图的简单使用

1、基本介绍

视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含列,其数据来自对应的真是表(基表)

2、总结

(1)视图是根据基表(可以是多个基表)创建的,视图是虚拟的表

(2)视图也有列,数据来自基表

(3)通过视图可以修改基表的数据

(4)基表的改变也会影响到视图的数据

3、视图的基本使用

(1)创建视图

create view 视图名 as select语句

(2)修改视图

alter view 视图名 as select语句

(3)显示创建视图的指令

show create view 视图名

(4)删除视图

drop view 视图名1、视图名2...

演示代码:

-- 创建视图
create view emp_view01 as
select empon,ename,job,depton
from emp

-- 查看视图的结构
desc emp_view01

-- 查看视图数据
select * from emp_view01
select empon,ename from emp_view01

-- 更新视图,新增薪资 sal
alter view emp_view01 as
select empon,ename,sal,job,depton from emp

-- 查看视图创建指令
show create view emp_view01

--删除视图
drop view emp_view01

4、视图的细节讨论

(1)创建视图后,到数据库看,对应视图只有一个视图结构文件,并没有数据文件(形式:视图名.frm )

(2)视图的数据变化会影响到基表,基表的数据变化也会影响到视图 【insert、update、delete】

(3)视图中可以再使用视图

视图的最佳实践:

(1)安全。一些数据表有着重要的信息,有些字段是保密的,不能让用户直接看到,这时就可以创建一个视图,在这张视图中可以保留部分字段,这样用户就可以查询自己需要的字段,不能查看保密字段

(2)性能。关系型数据库的数据常常会分表存储,使用外键建立这些表之间的关系,这时数据库查询通常会用到连接(join)。这样做不但麻烦,效率相对也比较低。如果建立一个视图,将相关的表和字段组合在一起,可以避免使用(join)查询数据

(3)灵活。如果系统中有一张旧表,这张表由于设计的问题,即将被废弃,然而很多应用都是基于这张表的,不易修改,这时就可以建立一张视图,视图中的数据直接映射到新建的表,这样可以少做很多改动,也能达到省级数据表的目的

-- 视图映射,同时将 emp表 和 dept表创建一个视图
create view emp_view02 as
-- 执行多表查询,将查询的数据映射到一个新的视图 emp_view02
select empon,ename,job,dname
from emp,dept
where emp.depton = dept.depton

select * from emp_view02
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值