本文實(shí)例講述了mysql臨時(shí)表用法。分享給大家供大家參考,具體如下:
一、創(chuàng)建臨時(shí)表可以將查詢(xún)結(jié)果寄存。報(bào)表制作的查詢(xún)sql中可以用到。
(1)關(guān)于寄存方式,mysql不支持:
select * into tmp from maintenanceprocess
(2)可以使用:
create table tmp (select ...)
舉例:
#單個(gè)工位檢修結(jié)果表上部
drop table if EXISTS tmp_單個(gè)工位檢修結(jié)果表(檢查報(bào)告)上部;
create table tmp_單個(gè)工位檢修結(jié)果表(檢查報(bào)告)上部 (select workAreaName as '機(jī)器號(hào)',m.jobNumber as '檢修人員編號(hào)',u.userName as '檢修人員姓名',loginTime as '檢修開(kāi)始時(shí)間',
CONCAT(FLOOR((TIME_TO_SEC(exitTime) - TIME_TO_SEC(loginTime))/60),'分鐘') as '檢修持續(xù)時(shí)長(zhǎng)'
from maintenanceprocess as m LEFT JOIN user u ON m.jobNumber = u.jobNumber where m.jobNumber = [$檢修人員編號(hào)] and loginTime = [$檢修開(kāi)始時(shí)間]
);#創(chuàng)建臨時(shí)表
select * from tmp_單個(gè)工位檢修結(jié)果表(檢查報(bào)告)上部;
備注:[$檢修開(kāi)始時(shí)間]是可輸入查詢(xún)的值
(3)創(chuàng)建臨時(shí)表的另一種方式舉例:
存儲(chǔ)過(guò)程中:
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
更多關(guān)于MySQL相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《MySQL查詢(xún)技巧大全》、《MySQL常用函數(shù)大匯總》、《MySQL日志操作技巧大全》、《MySQL事務(wù)操作技巧匯總》、《MySQL存儲(chǔ)過(guò)程技巧大全》及《MySQL數(shù)據(jù)庫(kù)鎖相關(guān)技巧匯總》
希望本文所述對(duì)大家MySQL數(shù)據(jù)庫(kù)計(jì)有所幫助。
您可能感興趣的文章:- Mysql臨時(shí)表及分區(qū)表區(qū)別詳解
- Mysql臨時(shí)表原理及創(chuàng)建方法解析
- MySQL 5.7臨時(shí)表空間如何玩才能不掉坑里詳解
- MySQL問(wèn)答系列之什么情況下會(huì)用到臨時(shí)表
- 關(guān)于JDBC與MySQL臨時(shí)表空間的深入解析
- MySQL臨時(shí)表的簡(jiǎn)單用法介紹
- MySQL中Update、select聯(lián)用操作單表、多表,及視圖與臨時(shí)表的區(qū)別
- MySQL兩種臨時(shí)表的用法詳解
- 淺談MySQL臨時(shí)表與派生表
- MySQL中臨時(shí)表的基本創(chuàng)建與使用教程
- MySQL中關(guān)于臨時(shí)表的一些基本使用方法
- MySQL使用臨時(shí)表加速查詢(xún)的方法
- MySQL中臨時(shí)表的使用示例