mysql视图---增删改查(二)

@author StormWangxhu
@date2017/12/8

再多表上创建视图

创表:
这里写图片描述

插入数据并创建视图:

这里写图片描述

查询视图表

这里写图片描述

查看视图

定义:
查看数据库中已经存在的视图。查看视图必须要有show view 的权限。

查看视图主要有三种方式:

方式一:使用describle 语句查看视图
describle 视图名;

或者

desc 视图名  ;
方式二: 使用 show table status 语句查看视图
show table status like '视图名'   ;

like : 表示后面匹配的字符串。
‘视图名’: 表示要查看的的视图的名字。视图名称需要用单引号括起来。

方式三:show create view 查看视图
show create view 视图名  ;

实例:
这里写图片描述


这里写图片描述


这里写图片描述

view 和普通表最直接的区别:

Comment项的值为 null 和 view 。

修改视图

定义:
指修改数据库中存在的视图的定义,比如当基本表中的某些字段发生变化时,可以通过修改视图的方式来保持与基本表一致。
主要有两种方式:

方式一: 使用create or replace view 语句修改视图
create [or replace][algorithm ={undefined | merge|temptable}]
view view_name[(conlumn_list)]
as select_statement
[with[cascaded |local ] check option]

使用create or replace view 语句修改视图时,若视图存在,则修改语句对视图进行修改。若不存在,则创建视图。


方式二:使用alter 语句修改视图
alter [algorithm ={undefined | merge|temptable}]
view view_name[(conlumn_list)]
as select_statement
[with[cascaded |local ] check option]

更新视图

定义:
更新视图是指通过视图来更新、删除、插入基本表中的数据。因为视图它是一个虚拟表,其中没有数据,当通过视图更新数据其实就是在更新基本表中的数据,对视图中的数据进行增加或删除操作时,实际上就是对其基本表中的数据表进行增加、删除操作。

主要有3种方法更新视图

方法一:使用update语句更新视图

MySql中,update对视图中原有数据进行更新。

update 视图名 set 字段更新  ;
方法二: 使用insert 语句更新视图

MySql中,insert 语句可以向表中插入一条记录。

insert into 视图名 values(值....)  ;
方法三: 使用delete 语句更新视图

MySql中,delete语句删除视图中的部分记录。

delete  from 视图名 [where 条件语句]   ;

综上: 基本表变化 —–>> 视图也立即变化。

说明: 当视图中有以下内容时,不能执行更新操作。
(1)、视图中包含基本表中定义的非空的列。
(2)、在定义视图的select语句后的字段列表中使用了数学表达式。
(3)、定义视图的select语句后的字段列表中使用了聚合函数。
(4)、定义视图的select语句中使用了distinct,union,top,group by 或having字句。

删除视图

定义:
视图不需要时,就可以将其删除,删除视图时,只是删除视图的的定义,不会删除数据。

drop view[if exists]
view_name [,view_name1...]
[restrict | cascade]

说明:
view_name : 要删除视图的名称,视图可添加多个,名称间用逗号隔开。删除视图必须拥有drop权限。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值