如何根据excel文档中的内容同步更新数据库中的数据

2023-10-30

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


需求概述

数据库中某张表的有个字段值需要同步做更新,用户给到的excel有两列,分别是该表中对应的唯一标识(相当于id)和该字段对应的值。


一、解决思路

想到了两种解决方案,一种是写一个测试类,导入excel中的数据,然后后台代码做更新处理。第二种解决方案是,把excel数据库中的内容以新建表的方式导入到数据库中,然后做更新操作。第一种比较繁琐,所以我选择了第二种解决方案。

二、具体解决方案

1.使用navicat将excel导入到mysql数据库中

1)打开navicat,选择【导入向导】,如图:
在这里插入图片描述
2)选择导入的文件格式
在这里插入图片描述
3)选择要导入的文件
在这里插入图片描述
这块可以做格式修改,因为我没有用到,所以没有做更改
4)更改新建表的名字
红框内的是新建的表名字,可自己做更改,一定要勾选新建表
5)更改新建表的字段名
在这里插入图片描述
6)选择下一步,点击开始,即可完成。

2.写SQL语句做更新操作

分析:新建的表中要更新的是文字,而数据库中存储的是编码,所以需要case when else end做转换。两张表的id相同,所以内连接条件为id相等。
SQL语句如下:
UPDATE 表名 p
INNER JOIN 新建表名 temp ON p.id = temp.id
SET p.更新的字段名=
CASE temp.新建表对应的字段名
WHEN ‘字段对应的文字’ THEN ‘文字对应的编码’
WHEN XXX THEN XXX

END
WHERE temp.新建表对应的字段名 IN (‘字段对应的文字’,XXX,…))


END

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何根据excel文档中的内容同步更新数据库中的数据 的相关文章

  • 重用 PDO 语句 var 会使进程崩溃

    我重用一个变量来存储两个不同的 PDO mysql 语句 stmt dbh gt prepare SELECT stmt gt execute stmt dbh gt prepare UPDATE crash here Error in o
  • 是否可以使用 Java 读写 Parquet,而不依赖 Hadoop 和 HDFS?

    我一直在寻找这个问题的解决方案 在我看来 如果不引入对 HDFS 和 Hadoop 的依赖 就无法在 Java 程序中嵌入读写 Parquet 格式 它是否正确 我想在 Hadoop 集群之外的客户端计算机上进行读写 我开始对 Apache
  • 如何在 MySQL 中启用严格 sql_mode?

    我怎样才能启用严格sql mode在 MySQL 中 我想从 SQL 中获取数据并在中处理相同的数据strict mode 我现在的sql mode is mysql gt SELECT sql mode sql mode NO ENGIN
  • MySQL - 从另一个表插入与常量合并的数据

    我有一个包含一些数据的临时表 products temp 并且我有另一个需要将数据插入其中的表 产品 我需要在新记录上手动设置一些常量 例如vendor id 1等 是否可以在一次请求中插入临时表数据和常量 临时产品 product nam
  • 未注入带有 JPA2 的 Apache Ignite 2.7 IgniteRepository

    使用在 Web 上建立的 guildes 我使用 Spring Data JPA 2 应用程序制作了简单的 Spring Boot 2 仅在 2 7 版本中才向 Apache Ignite 添加了 Spring Boot JPA 2 支持
  • Maven WebApp META-INF context.xml

    我正在使用 Maven 3 并且尝试在 webapp 文件夹下添加 META INF 文件夹 所以我正在尝试执行以下操作 src main webapp META INF context xml WEB INF 下面是我的 POM 文件
  • 如何在 Eclipse 中获得完全限定的类名?

    有没有一种快速方法可以在 Eclipse 中单击 Java 类并获取其完全限定名称 或将其复制到剪贴板 2016年6月29日编辑 正如 Jeff 所指出的 您只需要执行以下第二步 1 Double click on the class na
  • JERSEY:错误跟踪:java.lang.IllegalStateException:实体输入流已关闭

    我正在使用 Jersey 2 x 以下是我的控制器 GET Path id Produces application json public Response getUser PathParam id int userId Context
  • 在Java中如何将字节数组转换为十六进制?

    我有一个字节数组 我希望该数组的每个字节字符串转换为其相应的十六进制值 Java中有没有将字节数组转换为十六进制的函数 byte bytes 1 0 1 2 3 StringBuilder sb new StringBuilder for
  • ActiveMQ JNDI 查找问题

    尝试使用 JNDI 运行以下 ActiveMQ http activemq apache org jndi support html http ActiveMQ 20JNDI 并且我的 jboss server node lib 文件夹中有
  • jDBI中如何进行内查询?

    我怎样才能在 jDBI 中执行这样的事情 SqlQuery select id from foo where name in
  • JPA Web 应用程序管理策略

    我们目前正在开发一个 J2EE Web 应用程序 使用 JPA 作为我们的数据访问层 我们目前正在研究几种不同的策略来在我们的应用程序中利用缓存 Create an EntityManager per request 在请求范围内获取缓存
  • Java 8 方法签名不一致

    Java 8 为我们提供了具有很长签名的新方法 如下所示 static
  • 获取 Future 对象的进度的能力

    参考 java util concurrent 包和 Future 接口 我注意到 除非我弄错了 只有 SwingWorker 实现类才能启动冗长的任务并能够查询进度 这就引出了以下问题 有没有办法在非 GUI 非 Swing 应用程序 映
  • 当php脚本通过ajax运行时显示进度条

    我有一个通过 ajax 向服务器提交值的表单
  • 为什么 java.util.Arraylist#clear 按照 OpenJDK 中的方式实现?

    http grepcode com file repository grepcode com java root jdk openjdk 6 b14 java util ArrayList java 473 http grepcode co
  • 使用 Java 8 Spring 4 + MyBatis 集成问题

    使用 Java 8 1 8 0 60 Spring 4 2 1 和 MyBatis 3 3 0 时遇到以下异常 Sep 29 2015 11 02 58 AM org springframework context annotation A
  • 为什么不能在 if 语句中声明变量?

    以下 Java 代码无法编译 int a 0 if a 1 int b 0 if a 1 b 1 为什么 不能有任何代码路径导致程序将 1 分配给b无需先声明 我突然想到b的变量范围可能仅限于第一个if声明 但后来我不明白为什么 如果我实在
  • Java 中序列化的目的是什么?

    我读过很多关于序列化的文章 以及它如何如此美好和伟大 但没有一个论点足够令人信服 我想知道是否有人能真正告诉我通过序列化一个类我们真正可以实现什么 让我们先定义序列化 然后我们才能讨论它为什么如此有用 序列化只是将现有对象转换为字节数组 该
  • Java时区混乱

    我正在运行 Tomcat 应用程序 并且需要显示一些时间值 不幸的是 时间快到了 还有一个小时的休息时间 我调查了一下 发现我的默认时区被设置为 sun util calendar ZoneInfo id GMT 08 00 offset

随机推荐

  • 福尔摩斯的约会 C语言

    1014 福尔摩斯的约会 20 分 大侦探福尔摩斯接到一张奇怪的字条 我们约会吧 3485djDkxh4hhGE 2984akDfkkkkggEdsb s hgsfdk d Hyscvnm 大侦探很快就明白了 字条上奇怪的乱码实际上就是约会
  • Python之pygame简单介绍

    pygame是Python的第三方库 里面提供了使用Python开发游戏的基础包 但是在进行游戏开发的时候不推荐使用pygame 本文章以示例的形式对pygame的一些简单的使用方式进行讲解 一 游戏最小系统 1 游戏初始化 pygame
  • QT学习——父窗口,信号和槽机制

    一 父窗口 容器窗口 1 概念 创建控件时可以指定停靠在父窗口上 如果没有指定 则飘在外面形成独立的窗体 父窗口本质也是图形控件 常用于表示父窗口类主要包括如下三个 QWidget QDialog 对话框 QMainWindow 主窗口 注
  • android 开屏广告轮播,抖音-TopView(原生开屏)广告投放介绍

    产品简介 用户打开抖音APP时 出现TopView产品形态 原生融入信息流首位 用户体验更沉浸 原生信息流首位广告 避免竞品上下文干扰 品牌安全度高 品牌记忆度高 产品支持播放10s 60s时长的视频 展现位置 规则 1 位置 用户打开抖音
  • Tycho - 用Maven Build Eclipse插件

    为什么80 的码农都做不了架构师 gt gt gt Tycho是一个Maven插件 旨在简化使用Maven构建Eclipse插件 OSGI Bundle等项目 一 插件项目的构建 有了Tycho 构建一个Eclipse插件工程变的非常简单
  • React Native拖拽删除Demo(触摸事件)

    最近学习了下ReactNative中的触摸事件 写个例子实践一下 Demo效果 当触摸红球时开始触发事件 红球随着手指移动改变位置 松开时回到原位 如果拖入蓝色区域则删除 隐藏 单击左上方按钮红球显示在原位置 主要是利用了View触摸函数o
  • Axure RP 9Mac入门知识-基础功能介绍(一)

    Axure RP 9是一款备受瞩目的产品原型设计软件 它可以让你在上面任意构建草图 框线图 流程图以及产品模型 还能够注释一些重要地方 axure rp可支持同时多人写作设计和版本管理控制 这款交互式原型设计工具可以帮助设计者制作出高效率高
  • idea 运行日志查看

    help gt Show Log in Explorer 打开后的文件夹 如果有一些运行错误提示导入至中查看的可以在这里找到 比如在idea执行maven的reimport入时报错 打开后会有对应的记录 日志是按时间顺序追加的 可以直接最下
  • STM32发送AT并用LED显示

    STM32发送AT并用LED显示 1 利用USART1发送数据给使用AT的模块 void SendChar char buff unsigned char i 0 while buff i 0 while USART GetFlagStat
  • Android使用TabLayout+Viewpager+ Fragment实现了底部导航栏的效果

    首先TabLayout一般都是配合Viewpager使用的 Viewpager里的Fragment随着顶部的Tab一起联动 这种场景再熟悉不过了 效果如图所示 一 配置build gradle 添加如下代码 二 values属性文件 1 a
  • 解决华为手机无法使用Android StudioUSB调试功能

    亲测真实有效 废话不多说 跟大多数博客一样 本人照着真机调试步骤一步步来 但是Android Studio始终无法检测到手机 一度怀疑是数据线的问题 然而更换数据线之后问题依旧 折磨了好久 因为本人是华为手机 几经周折 发现是端口被占 最后
  • 机器学习笔记(1)—监督学习和无监督学习

    Day1 写在前面 此系列博客是看的是2022年的吴恩达的机器学习 以下是相关的笔记 如有不对的地方 请大家指出 监督学习 回归算法 分类算法 无监督学习 聚类算法 课后问题 总结 写在前面 始于2022年11月4日 本人双非硕士研一在读
  • 用Ehcache查询性能提升了100倍

    文章来源 石杉的架构笔记原创文章 目录 业务场景 如何通过缓存优化查询接口 基于大数据离线平台进行缓存预热 本地缓存框架 Ehcache 今天给大家来分享一个知识 那就是平时我们开发系统的时候 如何运用 Ehcache 这款本地缓存框架 把
  • matlab 点云精配准(2)——point to plane ICP(点到面的ICP)

    目录 一 算法原理 1 原理概述 2 参考文献 二 代码实现 三 结果展示 1 初始位置 2 配准结果 四 参考链接 五 测试数据 本文由CSDN点云侠原创 matlab 点云精配准 2 point to plane ICP 点到面的ICP
  • openwrt笔记3_自启动+golang

    Openwrt设置开机启动 设置开机启动原理 etc init d目录下面就是系统加载的开机配置 每个配置可以设置START优先级 数字越大启动越靠后 如果有很多需要依赖网络或者USB之类的启动程序最好设置靠后一些 等其他程序启动了再启动
  • 5G/NR PDCCH总结

    1 CCE PDCCH主要用于传输下行控制信息和UL Grant 以便UE正确接收PDSCH及为PUSCH分配上行资源 其分配单位为CCE 1 CCE 6 REG 72 RE 1 REG 1 OFDM symbol 12 subcarrie
  • 开发文档怎么写

    项目开发过程中为了增加程序的可读性和程序的健壮性 方便后期程序的调试和维护 所以需要在开发过程中统一技术规范 一般会在项目初期确定好相关文档作为这一统一的规范 不同公司会对文档做不同要求 划不同的分类 但一般来说 或者拿自己的经验说 大致可
  • -128----127缓存,在栈中获取

    span style font size 13px package test span br style font size 13px br style font size 13px br style font size 13px span
  • nginx负载均衡的5种策略

    nginx负载均衡的5种策略 要理解负载均衡 必须先搞清楚正向代理和反向代理 负载均衡的几种常用方式 1 轮询 默认 每个请求按时间顺序逐一分配到不同的后端服务器 如果后端服务器down掉 能自动剔除 upstream backserver
  • 如何根据excel文档中的内容同步更新数据库中的数据

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 根据excel中的内容同步更新数据库中的数据 需求概述 一 解决思路 二 具体解决方案 1 使用navicat将excel导入到mysql数据库中 2 写SQL语句做更新操作