mysql 视图 详细介绍

含义:

虚拟表,和普通的表一样使用;是mysql 5.1 版本出现的新特性,是通过表动态生成的数据,只保存了SQL逻辑,不保存查询结果

好处:

① 重用SQL语句

② 简化复杂的SQL操作,不必知道它的查询细节

③ 保护数据,提高安全性

示例:

//查询姓张的学生名和专业名

//使用视图前
select stuName,majorName
from stuinfo s
inner join major m on s.majorid=m.id
where s.stuName like '张%';

//创建视图
create view v1
as
select stuName,majorName
from stuinfo s
inner join major m on s.majorid=m.id;

//使用视图后
select * from v1 where stuName like '张%';

创建视图的语法:

create view 视图名
as
查询语句(一般是较复杂的SQL语句);

视图的修改:

//方式一
create or replace view v2
as 
查询语句;
//意思是如果视图v2存在就修改,不存在就创建

//方式二
alter view 视图名
as
查询语句;

视图的删除:

drop view 视图名,视图名...;

查看视图:

desc 视图名;
show create view 视图名;

视图的更新:

创建的视图支持普通表同样方法的增删改查

 

以下情况不支持增删改查:

① 包含以下关键词的SQL语句:分组函数、distinct、group by、having、union、union all;

② select中包含子查询

③ join 语句

④ from一个不能更新的视图

⑤ where子句的子查询引用了from子句中的表

⑥ 常量视图

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值