美文网首页
mysql建临时表批量更新

mysql建临时表批量更新

作者: Longer_JzL | 来源:发表于2019-12-13 14:39 被阅读0次

业务场景描述

老板:把现在生产上的用户的实名信息,改成跟这份excel表里面的实名信息一样。


image.png

小龙(程序猿)一看,这个简单,excel表里就8条数据,也就是说需要更新的用户只有8个,立马写了8条update语句。
sql如下:

update tbl_realname_info set realname='张三',idcard='74384371327383843122',bankcard='13243223534544623',mobile='13488728893'
 where customer_no='200104986122';

..........省略其他的7条update语句。

第二天,老板提出了同样的需求,但是,这次给过来的excel表里的数据量却比上次大太多,有几千个用户的实名信息需要进行修改。小龙陷入了沉思,心想:几千条update语句,要写到几时才能写完呀!!

解决办法

步骤1:创建临时表(temp_realname)
CREATE TABLE `temp_realname` (
  `customer_no` varchar(50) DEFAULT NULL COMMENT '用户编码',
  `realname` varchar(50) DEFAULT NULL COMMENT '真实名字',
  `idcard` varchar(100) DEFAULT NULL COMMENT '身份证号',
  `bankcard` varchar(100) DEFAULT NULL COMMENT '银行卡号',
  `mobile` varchar(50) DEFAULT NULL COMMENT '手机号'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='更改实名信息临时表';
表结构示意图.png
步骤2:修改excel列明,与临时表字段保持一致。
image.png
步骤3:将修改后的excel表数据导入到临时表里面(辅助工具:Navicat)
导入操作示意图.png 导入数据后临时表数据示意图.png
步骤4:写update与select结合使用的sql
UPDATE tbl_realname_info a
INNER JOIN (
    SELECT
        t.customer_no,
        t.realname,
        t.idcard,
        t.bankcard,
        t.mobile
    FROM
        temp_realname t
) b ON a.customer_no = b.customer_no
SET a.realname = b.realname,
 a.idcard = b.idcard,
 a.bankcard = b.bankcard,
 a.mobile = b.mobile;
步骤5:执行上面的sql

总结:这里的关键点在于
1.创建临时表
2.update和select结合使用
update结合select还有很多灵活运用,可以自行上网搜索学习。这里只是举了一个小小的案例,这个案例也是程序员们经常会遇到的,希望对您有所帮助

相关文章

  • mysql建临时表批量更新

    业务场景描述 老板:把现在生产上的用户的实名信息,改成跟这份excel表里面的实名信息一样。 小龙(程序猿)一看,...

  • kettle学习笔记(五)——kettle输出步骤

    一、概述 数据库表:• 表输出• 更新,删除,插入/更新• 批量加载(mysql,oracle)• 数据同步文件:...

  • MYSQL 表名称操作

    Mysql 批量删除表名 MYSQL批量修改表前缀与表名sql语句

  • 使用psycopg2进行批量更新数据库及批量插入

    1处理数据 2批量更新对象方法 批量更新要点:1.先组装数据数组;2.写批量更新sql(将传入的数组当作临时表,数...

  • Mysql:关联表批量更新

    问题和背景 我们在写 sql 语句的时候,经常会涉及到关联表更新,举例:下面有两个表 user 和 kpi_rat...

  • SQLite.swift

    SQLite.swift 建表 FMDB 建表 SQLite.swift 批量插入 FMDB 批量插入 在主线程中...

  • 使用建临时表的方法更新数据

    使用建临时表的方法更新数据 前情提要:表A,表B,表C。表A定时接入数据,表B根据表A接入的数据更新,表C根据表B...

  • 136-MySQL5.17 update更新[case when

    我的版本是:MySQL5.17 先来看下这张表: 1. 批量更新的SQL语句: UPDATE 表名 SET 字段1...

  • mysq临时表

    MySQL 临时表 MySQL 临时表在我们需要保存一些临时数据时是非常有用的。临时表只在当前连接可见,当关闭连接...

  • MySQL 临时表

    临时表只在当前连接可见,当关闭连接时,Mysql会自动删除表并释放所有空间。 使用PHP脚本来创建MySQL临时表...

网友评论

      本文标题:mysql建临时表批量更新

      本文链接:https://www.haomeiwen.com/subject/qeefnctx.html