excel快速生成导入sql,批量更新update数据库

记一次excel的数据更新到数据库表的操作

  • 背景:
    因为是生产环境,运营害怕更新了其他数据,所以只能根据他提供的excel数据进行更新,所以有了下面的记录

一、excel数据导入mysql数据库可以有很多种

  • 写python脚本
  • 写shell脚本
  • 直接用excel生成sql,在navicat中执行
    由于本人对python和shell不熟,不想费这么大劲进行学习,所以选择了用excel直接生成sql

二、用excel方法进行导入数据的步骤

1、创建临时表 table_tmp

法一: 使用navicat直接导入并创建表

image.png

一路next到下面需要输入新建表的名字
image.png

然后是选择表字段,主键,然后导入就可以了
image.png

法二 手动创建数据库表

-- 创建表
create  table change_tmp(id varchar(50) primary key, balance decimal(20,4)); 

2、生成用excel拼接sql

用excel生成数据值

image.png

复制到nodepad拼全
image.png

-- 用excel生成批量的insert语句 只要生成括号的内容就可以了 如:

=CONCATENATE("('",A2,"',",B2,"),")  

可以生成以A2,B2为数据源的括号内容 ('dd',23.2), 单元格需要用双引号+逗号标识 ,如 ",B2,"

-- 插入表  最后生成的sql
insert into change_tmp values  ('dd',23.2), ('d2d',1.2);

3、数据执行插入insert

insert into table_tmp values  
('dd',23.2),
('d2d',1.2);

4、执行批量更新

update dest a, change_tmp b set a.balance = b.balance where a.id=b.id;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 今天是周五了,看今天晚上的私募基金的净值,本周的表现相当的亮眼,特别是高一庆瑞8%以上,景林优选也在8%,这两只基...
    涓涓1016阅读 167评论 0 0
  • 今天一天算算我的工作量。真是爆了。用这样的节奏工作,我知道自己这是在状态的类似于进入心流的状态。今天整个一天绝大多...
    涓涓1016阅读 191评论 0 0
  • 周二 2021-02-16 22:00 - 07:00 阴 08h22m 记录闪现的灵感(inspirations...
    么得感情的日更机器阅读 136评论 0 1
  • 最近在读米切尔.恩德的《毛毛》,这是一本思考工业化进程下,人类与时间的关系。面对时间窃贼,守护人类的,是孩...
    呵妈阅读 278评论 0 1
  • 把车开到郊外停下来,走上一段,一边走一边诵读,在不诵读的时候听听得到薛兆丰的经济学讲义,因为在51后会有这本书的解...
    涓涓1016阅读 179评论 0 0