MySQL学习笔记(14)--视图

本文介绍了MySQL中的视图概念,视图作为虚拟表不存储数据,而是通过SELECT语句动态获取。视图的主要目的是方便数据提供和保护数据安全。讨论了视图的管理,包括查看、修改和删除。视图数据操作的规则与基表数量和字段有关,单基表视图允许部分写操作。最后,解释了视图的三种算法:undefined、merge和temptable,并举例说明其应用场景。
摘要由CSDN通过智能技术生成

·概念

view,一种由select指令组成的虚拟表

  • 视图是虚拟表,可以使用表管理(结构管理)
    • 为视图提供数据的表叫做基表
# 创建视图
create view 视图名字 as select指令;

# 访问视图:一般都是查询
select */字段名 from 视图名字;
  • 视图有结构,但不存储数据
    • 结构:select选择的字段
    • 数据:访问视图时执行的select指令

步骤

1、确定需要使用视图提供数据

  • 数据来源是多张表
  • 对外部系统提供数据支撑(保护基表数据)

2、使用视图

示例

1、需要对外提供一个学生详情的数据,经常使用:可以利用视图实现

# 对外提供数据,要保护数据本身的安全
# 需要长期使用

# 创建视图
create view v_student_info as select * from my_student s left join my_class c on s.class_id = c.id;
# 使用视图:像表一样使用
select * from v_student_info;

在这里插入图片描述

2、有些复杂的SQL又是经常用到的,如多张表的连表操作:可以利用视图实现

# 院系表
create table school(
	id int primary key auto_increment,
    name varchar(50) not null
);
insert into school values(null,'语言系'),(null,'考古系');

# 专业表
create table major(
    id int primary key auto_increment,
    name varchar(50) not null,
    s_id int not null comment '学院id'
);
insert into major values(null
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值