Mysql:视图

#视图中的数据并不是真实存放的,数据仍然存放在表中
#创建视图(简)
#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; 

  • 11
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值