mysql臨時表用法分析【查詢結果可存在臨時表中】
本文實例講述了mysql臨時表用法。分享給大家供大家參考,具體如下:
一、創(chuàng)建臨時表可以將查詢結果寄存。報表制作的查詢sql中可以用到。
(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 '檢修持續(xù)時長' from maintenanceprocess as m LEFT JOIN user u ON m.jobNumber = u.jobNumber where m.jobNumber = [$檢修人員編號] and loginTime = [$檢修開始時間] );#創(chuàng)建臨時表 select * from tmp_單個工位檢修結果表(檢查報告)上部;
備注:[$檢修開始時間]是可輸入查詢的值
(3)創(chuàng)建臨時表的另一種方式舉例:
存儲過程中:
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相關內(nèi)容感興趣的讀者可查看本站專題:《MySQL查詢技巧大全》、《MySQL常用函數(shù)大匯總》、《MySQL日志操作技巧大全》、《MySQL事務操作技巧匯總》、《MySQL存儲過程技巧大全》及《MySQL數(shù)據(jù)庫鎖相關技巧匯總》
希望本文所述對大家MySQL數(shù)據(jù)庫計有所幫助。
相關文章
MYSQL出現(xiàn)" Client does not support authentication "的
MYSQL出現(xiàn)" Client does not support authentication "的解決方法...2007-06-06mysql導入sql文件報錯 ERROR 2013 2006 2002
今天在做項目的時候遇到個問題,就是往mysql里導入sql文件的時候總是報ERROR 2013 2006 2002,研究了一番才找到解決辦法,這里記錄下來分享給大家2014-11-11MySQL對數(shù)據(jù)庫和表進行DDL命令的操作代碼
DDL(Data?Definition?Language),是數(shù)據(jù)定義語言的縮寫,它是SQL(Structured?Query?Language)語言的一個子集,用于定義或修改數(shù)據(jù)庫的結構,本文給大家介紹了MySQL對數(shù)據(jù)庫和表進行DDL命令的操作,需要的朋友可以參考下2024-07-07