星星博客 »  > 

(第十二章)视图表

view视图表

用基本表来填充视图表
1.视图表内容列,可以由多个基本表中的列来填充
2.视图表的列删除,整表删除,不影响基本表
3.(视图表仅由一个基本表来填充时)修改视图表中的数据,会影响基本表内的数据
4.当视图表来自多个基本表的数据,不能修改删除里面的数据

创建一个视图表

create view view_name1#创建视图
as select 语句#定义视图的字段规则
[with [cascaded][local] check option]#这一行是可选项,对视图更新时,会检查视图的规则
cascaded检查题层视图的规则
local检查当前视图的规则

##查看视图 (视图名字需要用引号)—结果显示视图名字
show table [like’view_name1’];

查看视图整个状态 名字,版本,创建时间
show table status [like’view_name1’];

查看视图名字与字符信息
show create view view_name1;

查看视图的详细内容:列名,类型
describe view_name;
desc view_name;

修改视图

alter view view_name1
as select 语句
[with [cascaded][local] check option];

删除视图

如果存在才删除 if exists

drop view if exists view_name1 [cascaded|restrict];

级连删除,删除依赖此视图的对象

drop view if exists view_name1 cascaded;

级连删除,如有依赖对象则不能删除

drop view if exists view_name1 restrict;

实例

创建90后的视图
create view view_90
as select * from t_reader
where reader_birthday between “1990-1-1” and “1999-12-31”;

把上面的90后视图改为80后视图
alter view view_90
as select * from t_reader
where reader_birthday between “1980-1-1” and “1989-12-31”;

删除上面创建的90后视图
drop view if exists view_80;

查看视图中的数据

select * from view_80;

参考操作数据表
创建表t_reader
create table t_reader(
reader_id varchar(10),
reader_name varchar(10),
reader_sex varchar(10),
reader_birthday date,
reader_borrowtotal int
);
插入数据
insert into t_reader values
(“1001”,“小一”,“男”,“1991/2/1”,1),
(“1002”,“小二”,“男”,“1995/2/2”,2),
(“1003”,“小三”,“女”,“1981/2/3”,3),
(“1004”,“小四”,“女”,“1985/2/4”,4),
(“1005”,“小五”,“女”,“2005/2/5”,5);

相关文章