@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权限。