mysql临时表用法分析【查询结果可存在临时表中】

吾爱主题 阅读:131 2024-04-05 14:22:37 评论:0

本文实例讲述了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

希望本文所述对大家MySQL数据库计有所帮助。

原文链接:https://blog.csdn.net/haoranhaoshi/article/details/80159439

可以去百度分享获取分享代码输入这里。
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

【腾讯云】云服务器产品特惠热卖中
搜索
标签列表
    关注我们

    了解等多精彩内容