临时表目的:存储中间结果集,查询起来更快。
视图目的:简化复杂的联表查询语句,虚拟的存在,效率一般。
临时表的使用场景:
1.用sql查询多张关联表的结果,形成临时表,提高速度和效率。
2. 写存储过程,假设有7张表,我们可以先将4张表关联好存成一张临时表A,将剩下的3张表关联存在临时表B,最后将A和B关联就可以得到结果表。
3.在导出数据时,只想导出表中部分数据,就可以形成临时表。
视图的使用场景:
1.如果表中有客户隐私数据,姓名、地址、邮箱、电话号码、工资等隐私数据,把数据敏感字段过滤掉就可以呈现的你想呈现数据了。
创建临时表:
CREATE TEMPORARY TABLE 表名1 (
字段 VARCHAR(10) NOT NULL,
字段 INTEGER NOT NULL
)
导入数据进临时表:
insert into 表名1
select 字段 from 表 ;
创建视图:
CREATE VIEW 表名2 AS
select 字段 from 表 ;
(1)创建的临时表的字段需要和导入数据的字段保持一致。
(2)创建临时表时注意:主键字段放在最后。
(3)left join每张表时,left join前不能有空格。
(4)left join的表中所列字段只能是本表字段。
(5)数据是每天增量,所以无论是临时表还是视图,在基于查询时,都需要清除数据重新导。
(6)创建视图报错:Column name ‘mobile’ specified more than once,解决办法:表字段后在 空格 写下新的名称用于区分,也就是重新命名。
866

被折叠的 条评论
为什么被折叠?



