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

本文记录了一次使用Excel数据更新MySQL数据库的过程,包括创建临时表、通过Excel生成SQL语句,并在Navicat中执行批量更新的详细步骤,避免了编写Python或Shell脚本的复杂性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

记一次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;
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

简书-乡村码农

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值