如何根据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文档中的内容同步更新数据库中的数据 的相关文章

  • Java 枚举与创建位掩码和检查权限的混淆

    我想将此 c 权限模块移植到 java 但是当我无法将数值保存在数据库中然后将其转换为枚举表示形式时 我很困惑如何执行此操作 在 C 中 我创建一个如下所示的枚举 public enum ArticlePermission CanRead
  • 学说迁移后备

    我们正在使用原则迁移 当迁移包含多个操作并且其中一个操作失败时 通常会出现问题 例如 如果迁移添加了 5 个外键 其中第 5 个失败 而字段长度不同 则修复字段错误并重新生成迁移不会not修复整个问题 而现在出现一个与 4 个密钥已存在有关
  • 如何在java中将一个数组列表替换为另一个不同大小的数组列表

    我有两个大小不同的数组列表 如何从此替换 ArrayList
  • 在 Jar 文件中运行 ANT build.xml 文件

    我需要使用存储在 jar 文件中的 build xml 文件运行 ANT 构建 该 jar 文件在类路径中可用 是否可以在不分解 jar 文件并将 build xml 保存到本地目录的情况下做到这一点 如果是的话我该怎么办呢 Update
  • MySQL 追加字符串

    How can I append a string to the end of an existing table value Let s say I have the table below And let s say that Mari
  • 检测并缩短字符串中的所有网址

    假设我有一条字符串消息 您应该将 file zip 上传到http google com extremelylonglink zip http google com extremelylonglink zip not https stack
  • 随机组合 MySQL 数据库中的两个单词

    我有一个包含名词和形容词的数据库 例如 id type word 1 noun apple 2 noun ball 3 adj clammy 4 noun keyboard 5 adj bloody ect 我想创建一个查询 它将抓取 10
  • Spring Boot Data JPA 从存储过程接收多个输出参数

    我尝试通过 Spring Boot Data JPA v2 2 6 调用具有多个输出参数的存储过程 但收到错误 DEBUG http nio 8080 exec 1 org hibernate engine jdbc spi SqlStat
  • 快速将列的副本添加到 MySQL 表

    我需要一种快速的方法来复制表中的 DATETIME 列并为其指定一个新名称 我的表中有一个名为 myDate 的列 名为 myResults 我需要一个查询来在名为 newDate 的表中创建一个新列 该列的数据与 myDate 列完全相同
  • 如何在谷歌地图android上显示多个标记

    我想在谷歌地图android上显示带有多个标记的位置 问题是当我运行我的应用程序时 它只显示一个位置 标记 这是我的代码 public class koordinatTask extends AsyncTask
  • 如何使用 jUnit 将测试用例添加到套件中?

    我有 2 个测试类 都扩展了TestCase 每个类都包含一堆针对我的程序运行的单独测试 如何将这两个类 以及它们拥有的所有测试 作为同一套件的一部分执行 我正在使用 jUnit 4 8 在 jUnit4 中你有这样的东西 RunWith
  • 专门针对 JSP 的测试驱动开发

    在理解 TDD 到底是什么之前 我就已经开始编写测试驱动的代码了 在没有实现的情况下调用函数和类可以帮助我以更快 更有效的方式理解和构建我的应用程序 所以我非常习惯编写代码 gt 编译它 gt 看到它失败 gt 通过构建其实现来修复它的过程
  • 我如何在java中读取二进制数据文件

    因此 我正在为学校做一个项目 我需要读取二进制数据文件并使用它来生成角色的统计数据 例如力量和智慧 它的设置是让前 8 位组成一个统计数据 我想知道执行此操作的实际语法是什么 是不是就像读文本文件一样 这样 File file new Fi
  • 找不到符号 NOTIFICATION_SERVICE?

    package com test app import android app Notification import android app NotificationManager import android app PendingIn
  • 包 javax.el 不存在

    我正在使用 jre6 eclipse 并导入 javax el 错误 包 javax el 不存在 javac 导入 javax el 过来 这不应该是java的一部分吗 谁能告诉我为什么会这样 谢谢 米 EL 统一表达语言 是 Java
  • CamcorderProfile.videoCodec 返回错误值

    根据docs https developer android com reference android media CamcorderProfile html 您可以使用CamcorderProfile获取设备默认视频编解码格式 然后将其
  • post php mysql 的拆分关键字

    我有一个表存储帖子 ID 它的标签如下 Post id Tags 1 keyword1 keyword2 keyword3 我想循环遍历该表中的每一行并执行以下操作 将关键字1 关键字2 关键字3放入新表中 word id word val
  • Spring Boot 无法更新 azure cosmos db(MongoDb) 上的分片集合

    我的数据库中存在一个集合 documentDev 其分片键为 dNumber 样本文件 id 12831221wadaee23 dNumber 115 processed false 如果我尝试使用以下命令通过任何查询工具更新此文档 db
  • Spring Rest 和 Jsonp

    我正在尝试让我的 Spring Rest 控制器返回jsonp但我没有快乐 如果我想返回 json 但我有返回的要求 完全相同的代码可以正常工作jsonp我添加了一个转换器 我在网上找到了用于执行 jsonp 转换的源代码 我正在使用 Sp
  • Java中super关键字的范围和使用

    为什么无法使用 super 关键字访问父类变量 使用以下代码 输出为 feline cougar c c class Feline public String type f public Feline System out print fe

随机推荐

  • 福尔摩斯的约会 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语句做更新操作