MYSQL--视图操作

一:介绍:

                MYSQL当中的视图,实际上是一个虚拟的表,实际上并不存在,并且之后需要对这一个虚拟的表进行赋值,从原本的表当中获取数据,并将其当作表进行使用

TIPS:
        1.使用视图进行查询数据的时候,实际上都是从原本的表当中获取相应的数值的,因此当原表修改的时候,视图当中的数据也都会进行相应的修改
        2.视图是虚拟的,所以在MYSQL当中并没有存放视图的数据,这些数据仍然是在原本的表当中的

作用:


1.通过使用视图,能够将一些代码进行封装查询,使比较复杂的代码变得简单化,提高复用性以及理解

2.另一方面,也可以提高安全的指数,对与不同的用户,可以设置不同的视图,将他们应当看到的从原表当中提取出来,从而提高代码的安全性
 

二:视图的相关操作

MYSQL当中的视图操作主要包括

1.视图的创建

2.视图的修改

3.视图的更新

4.视图的重命名以及删除

1.视图的修改

        

-- 创建语法
create or replace view (视图名) 
as 
(查询的原表当中需要使用的一些数据);

-- 一:将原数据表employee当中的员工编号以及姓名当作作为视图
use mydb6;

create or replace view 
view_emp 
as 
select eid,ename from employee;


-- 查看数据库当中的表,视图
show tables;
-- 显示的是所有的表,在这里连带视图也将其当作是一个表
show full tables;
-- 能够显示是表还是一个视图,展示类型

2.视图的修改:

二:修改视图

1.可以使用之前的关键语句方法
create or replace view ....  将原本的表进行替换,也就是对相应的数据进行修改

2.关键词:alter view (需要进行修改的表名称) as (修改需要的数据查询)
alter view view_emp as 
select dname ,eid,ename from employee;

3.视图的更新

三:视图的更新
1.需要注意的最重要的一点:对于视图的更新,实际上就是对于原表当中数据的更新!
2.视图是一个虚拟表,最好仅仅只将其当作查询的快捷方式进行使用,而不要在其中修改数据,因为会有很多的条件限制,让有些修改无法成功!

create or replace view 
view_emp 
as 
select eid,ename from employee;

update view_emp set ename='张三' where ename='刘备';

-- 某些不能进行更新(插入数据)的视图:
主要包括有:
聚合函数,
去重(distinct) 
group by
(分组之后) 
having 
union \\ union all (前者能够去除两个表当中重复的数据) union 控制的是上下的表连接,而join控制的是左右连接

子查询当中也不能够进行修改,插入

视图包含join也不能够进行更新

仅仅只引用文字值也不能够进行修改

4.视图的重命名以及删除

四:视图的重命名
1.关键词:rename table (视图名) to (新名称)
rename table view_emp to view_emp1;

2.视图的删除:
关键词:drop view [if exists] (视图名)
drop view view_emp1;

drop view 

  • 7
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值