千家信息网

怎么在mysql中使用临时表

发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,这篇文章将为大家详细讲解有关怎么在mysql中使用临时表,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。一、创建临时表可以将查询结果寄存(1)关于寄存方
千家信息网最后更新 2025年01月20日怎么在mysql中使用临时表

这篇文章将为大家详细讲解有关怎么在mysql中使用临时表,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

一、创建临时表可以将查询结果寄存

(1)关于寄存方式,mysql不支持:

select * into tmp from maintenanceprocess

(2)可以使用:

create table tmp (select ...)

举例:

#单个工位检修结果表上部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)创建临时表的另一种方式举例:

存储过程中:

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 < cntdoset i = i + 1;insert into tmp_split(`val_`) values (func_splitString(f_string,f_delimiter,i));end while;END

关于怎么在mysql中使用临时表就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

0