Mysql中的视图与临时表

视图

定义

MySQL从5.0.1版本开始提供视图功能。一种虚拟存在的表,行和列的数据来自定义视图的查询中使用的表,并且是在使用视图时动态生成的,只保存了sql逻辑,不保存查询结果

应用场景:

• 多个地方用到同样的查询结果

• 该查询结果使用的sql语句较复杂

优点

• 重用sql语句

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

• 保护数据,提高安全性

创建视图的语法:

create [or replace] view view_name
As 
select_statement
[with|cascaded|local|check option]

例子

create view myv1
as 
select product_name,product_category from product;

在这里插入图片描述
在这里插入图片描述

临时表

 CREATE TEMPORARY TABLE SalesSummary (
product_name VARCHAR(50) NOT NULL,
total_sales DECIMAL(12,2) NOT NULL DEFAULT 0.00,
avg_unit_price DECIMAL(7,2) NOT NULL DEFAULT 0.00,
total_units_sold INT UNSIGNED NOT NULL DEFAULT 0
);

临时表作用与视图基本一致,这里不过多阐述。

视图与临时表的区别:

1、空间分配:物理空间的分配不一样,视图不分配空间, 临时表会分配内存空间
虚实:视图是一条预编译的SQL语句,并不保存实际数据,而临时表是保存在tempdb中的实际的表。即视图是一个快照,是一个虚表,而临时表是客观存在的表类型对象。它们的结构一个是表、一个快照。可以把视图想象成联合表的快捷方式。
3、视图可以一直存在。临时表存在于它被创建的整个数据库会话过程中,下次会话就不存在了。
2、视图只存在于单个查询当中,每次使用该视图名,其虚拟表就会根据现有的数据重新被创建。临时表不会主动更新。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值