mysql临时表用法分析【查询结果可存在临时表中】
本文实例讲述了mysql临时表用法。分享给大家供大家参考,具体如下:
一、创建临时表可以将查询结果寄存。报表制作的查询sql中可以用到。
(1)关于寄存方式,mysql不支持:
1
|
select * into tmp from maintenanceprocess |
(2)可以使用:
1
|
create table tmp ( select ...) |
举例:
1 2 3 4 5 6 7 | #单个工位检修结果表上部 drop table if EXISTS tmp_单个工位检修结果表(检查报告)上部; create table tmp_单个工位检修结果表(检查报告)上部 ( select workAreaName as '机器号' ,m.jobNumber as '检修人员编号' ,u.userName as '检修人员姓名' ,loginTime as '检修开始时间' , CONCAT(FLOOR((TIME_TO_SEC(exitTime) - TIME_TO_SEC(loginTime))/60), '分钟' ) as '检修持续时长' from maintenanceprocess as m LEFT JOIN user u ON m.jobNumber = u.jobNumber where m.jobNumber = [$检修人员编号] and loginTime = [$检修开始时间] );#创建临时表 select * from tmp_单个工位检修结果表(检查报告)上部; |
备注:[$检修开始时间]是可输入查询的值
(3)创建临时表的另一种方式举例:
存储过程中:
1 2 3 4 5 6 7 8 9 10 11 12 13 | BEGIN #Routine body goes here... declare cnt int default 0; declare i int default 0; set cnt = func_get_splitStringTotal(f_string,f_delimiter); DROP TABLE IF EXISTS `tmp_split`; create temporary table `tmp_split` (`val_` varchar (128) not null ) DEFAULT CHARSET=utf8; while i < cnt do set i = i + 1; insert into tmp_split(`val_`) values (func_splitString(f_string,f_delimiter,i)); end while; END |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)