mysql系统视图_mysql之视图

mysql视图创建的语句,就不过多赘述,下面提供一个示例。主要讲的是mysql创建视图时的一些特性。

创建视图示例:

create or replace view staff_list_view as

selects.staff_id,s.first_name,s.last_name,a.addressfrom staff as s, address asawhere s.address_id = a.address_id

mysql创建视图的时候有一些限制。例如,在from关键字后面不能包含子查询,这和其他的数据库是不同的,如果视图时从其他数据库迁移过来,那么可能需要因此做一些改变,可以将子查询的内容先定义为一个视图,然后对该视图再创建视图就可以实现类似的功能。

一下类型的视图是不可以更新的。

1、包含一下关键字的sql语句:聚合函数(sum、min、max、count等)、distinct、group by、having、union、union all。

2、常量视图

3、select中包含子查询

4、join

5、from一个不能更新的视图

6、where字句的子查询引用了from字句中的表。

with [cascaded | local] check option

1、local只要满足本视图的条件就可以更新。

2、cascaded则必须满足所有针对该视图的所有视图条件才可以更新。没有写cascaded 还是 local时,默认是cascaded 。

执行show tables命令时,不仅显示表的名字,同时也会显示视图的名字,而不存在单独显示视图的show views命令。

同样在使用show tables status命令时,不但可以显示表的信息,同时也可以显示视图的信息。

show table status like 'staff_list';

查询某个视图的定义

show create view staff_list;

通过系统表information_schema.views也可以查看视图的相关信息。

select * from views where table_name = 'staff_list';

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值