MySQL- 快速新建临时表关联查询
总结
没有基础数据表只有 excel 表格,却要快速关联查询数据。本篇文章针对这种需求,通过新建临时表的方法快速完成任务。
详情
说明
比如给到的 excel 表格中有 code,school,stage,name,class,sex 六列信息,但是数据库中没有对应的基础信息表。
详细步骤
- 新建临时表
CREATE TEMPORARY TABLE stu (
code VARCHAR(50) PRIMARY KEY,
school VARCHAR(100),
stage VARCHAR(20),
name VARCHAR(100),
class VARCHAR(50),
sex VARCHAR(10)
);
- excel 拼接导入内容,详见 Excel常用公式
//以下是以6列拼接为例
="('"&A1&"'"&","&"'"&B1&"'"&","&"'"&C1&"'"&","&"'"&D1&"'"&","&"'"&E1&"'"&","&"'"&F1&"'"&")"&","
- 导入数据
INSERT INTO stu (code, school, stage, name, class, sex)
VALUES
('007','测试初中','三年级','张三','2班','男'),-- 使用 excel 拼接的内容快速复制
……
;
- 查询
SELECT
s.school, s.stage, s.code, s.name, s.class, sc.name
FROM stu s
LEFT JOIN stu_class sc
ON s.class = sc.id
ORDER BY s.code;
- 清除临时表
DROP TABLE stu;