开发篇之视图

视图

视图是虚拟存在的表,不实际存在,是再使用视图时动态生成的

  • 简单
  • 安全
  • 数据独立

视图操作

视图操作需要有对应权限

创建视图或修改

create or replace view view_name as 
select_statement
[with[CASCADED|LOCAL]CHECK OPTION]
  • with[CASCADED|LOCAL]CHECK OPTION 决定是否允许更新数据
    • LOCAL表示只要满足本视图的条件就可以更新
    • CASCADED必须满足所有针对该视图的所有视图的条件才可以更新
  • 默认是CASCADED
alter [algorithm={undefined|merge|tempable}]
view view_name[(column_list)]
as select_statement
[with[CASCADED|LOCAL]CHECK OPTION]
视图定义的限制
  • 在FROM关键字后面不能包含子查询,这和其它数据库不同,需要注意

  • 部分类型的视图不可更新

    • 包含以下关键字的SQL语句:聚合函数、DISTINCT、GROUP BY、HAVING、UNION或UNION ALL
    • 常量视图
      • create or replace view pi as select 3.14 as pi;
    • SELECT中包含子查询
      • select or replace view sum_it as select (select city from city where city_id=1);
    • JION
    • FROM一个不能更新的视图
    • WHERE子句的子查询引用了FROM字句中的表

删除视图

drop view [if exists] view_name[,view_name]… [RESTRICT|CASCADE]

查看视图

  • 自版本5.1开始,show tables不仅显示表,还有视图的名字,版本之前使用show views
  • 查询某个视图的定义
    • show create view view_name \G;
    • select * from views where tables_name= view_name \G;

select * from views where tables_name= view_name \G;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值