使用批量插入指令将excel数据按字段同步至数据库中
评论
收藏

使用批量插入指令将excel数据按字段同步至数据库中

经验分享
翊尘
2024-11-30 16:28·浏览量:987
翊尘
发布于 2024-11-30 16:28987浏览

背景:

       客户想要将平台上下载下来的excel数据插入同步至数据库中,但是excel表格和创建好的数据库中都包含互相不存在的字段,同时字段顺序也不一致,读取excel内容并直接将内容批量写入的方式显然不可取。

两种批量插入方式对比:

       操作数据库前,可以先安装MySql可视化工具,推荐下载DBeaver(下载地址: https://dbeaver.io/download/ ),下载安装完成后打开,点击左上角连接,选择MySQL,填入密码,点击测试连接,若出现下图已连接说明连接成功(第一次连接会提醒下载驱动程序,选择下载即可)。

新建数据库:

新建数据表:(也可以用导入的方式,具体操作可查看高级课程数据库章节)

一、通过常规指令实现数据库批量插入

连接数据库需要安装ODBC驱动,具体操作参考高级课程

数据表:

批量插入操作:

执行结果:

二、通过数据库扩展操作实现批量插入到数据库

       通过数据库扩展操作指令实现批量写入不需要用到ODBC驱动,因此无需连接数据库,但是需要在指令中配置数据库地址、用户名、密码和数据库名信息。

指令语句:

插入前:

插入后:

       通过对比,使用【批量插入到数据库】指令的执行效率会比【数据库批量插入数据】快一些,有插入大量数据到数据库需求的小伙伴可以选择【批量插入到数据库】进行操作。

以上的场景都是字段按顺序并且所有字段一起批量写入,下面尝试一下只写入部分字段

可以看到上面虽然只写入部分字段,但是values后面所跟字段的个数和顺序与所读取表格内容匹配是可以写入的。

上面的例子虽然正常写入了,但是title字段却写入到director字段了,这是因为指令里的SQL语句字段与表格字段不匹配导致的,所以在进行批量写入到数据库操作时要十分注意语句字段与写入数据字段的匹配。

解决方法:

当只需选取表格中部分字段并且字段与数据表字段顺序不一致时该如何进行插入

excel表格内容:

数据表内容:

可以看到,需要写入数据库的数据字段中有数据库中不存在的字段,同时有些字段顺序也不一致。

解决思路:进行批量插入时无需考虑数据表的顺序,只需将SQL语句字段与待插入数据的字段一一对应起来就行(包括顺序以及个数),过程中再通过设置变量截取并连接表格字段作为SQL语句字段,同时待插入数据,即表格内容也做同样处理,删除多余字段数据并将它们拼接成二维列表作为一个整体参数传入即可。过程参考以下流程:

获取数据表字段:


执行结果:

收藏4
全部评论1
最新
发布评论
评论