#视图中的数据并不是真实存放的,数据仍然存放在表中
#创建视图(简)
#create view 视图名 as select语句;
#创建视图(完整用法)
#create
#[or replace]
#算法选项 algorithm=UNDEFINED(自动选择算法)|merge(行与行是一一对应的关系)|TEMPTABLE
#视图定义者 DEFINER=USER|CURRENT_USER
#安全性选项 SQL SECURITY DEFINER(默认,验证用户是否有权访问视图里边涉及的数据)|INVOKER(如果创建的这个视图的用户,没有对原表中的数据的访问权限)
#view 视图名(唯一,不能与数据表同名)
#as select语句 from 数据库1.表2 join 数据库2.表6
#with (cascaded(更新视图时满足所有表中涉及的条件)|local(只满足当前表中的条件))check option(更新视图上所进行的修改,应符合原表中的条件)
#;
#例:创建一个视图 view_0514 查询出版社信息表中的全部字段
create view view_0514 as select * from 出版社信息;
#查看视图的结构定义 --> desc 视图名
desc view_0514;
#查看视图的基本信息 --> show table status like '视图名';
show table status like 'view_0514';
#查看视图的具体信息 --> show create view 视图名;
show create view view_0514;
#查看视图中的数据
select * from view_0514;
#例题1:创建视图,查询人民邮电出版社出版的价格大于40的商品编号,图书名称,价格,出版社名称
create view view_图书信息 as select 商品编号,图书名称,价格,出版社 from 图书信息 where 价格>40 and 出版社=1;
#例题2:使用以上三种查看方式查看该视图
desc view_图书信息;
show table status like 'view_图书信息';
show create view view_图书信息;
select * from view_图书信息;
#修改视图
#alter
#算法选项 algorithm=UNDEFINED(自动选择算法)|merge(行与行是一一对应的关系)|TEMPTABLE
#视图定义者 DEFINER=USER|CURRENT_USER
#安全性选项 SQL SECURITY DEFINER|INVOKER
#view 视图名
#as select语句;
#例题:修改视图,把条件修改为 高等教育出版社出版的图书的信息
alter view view_图书信息 as select 商品编号,图书名称,价格,出版社 from 图书信息 where 出版社=2;