将Excel中数据导入到数据库中,并且修改外键的值

使用工具

  1. Navicat
  2. Excel

注意事项

  1. 注意时间字段
  2. Excel中数据不可拆分(数据库的原子性)

模拟导入数据

首先选中所需要导入的数据库,双击进入如下界面,选择导入向导,再选择Excel文件,点击下一步
在这里插入图片描述
然后进入选择文件页面,选择你所需要导入的文件以及子表(我这块只有一个子表),然后点击下一步
在这里插入图片描述
进入如下页面,可以改时间格式,这里你表中时间是什么样的格式,这块就改成什么样的格式。再点击下一步
在这里插入图片描述
这块可以选择你自己所导入的目标表中,再点击下一步
在这里插入图片描述
数据库表中各个字段的名字与类型可以在这块修改,再点击下一步
在这里插入图片描述
再选择下一步
在这里插入图片描述
点击开始,便可导入成功啦。
在这里插入图片描述

导入成功后,由于我的是关联表,所以只有单位名字字段,外键的值为空,故这里教大家怎么从主表中将外键的值匹配

如图,这是我导入的数据,外键PKID为空,没办法与我的主表关联起来
注:我的DW不为空
在这里插入图片描述
首先我先写一条语句,在我的主表中插入我导入的表中没有的名称,确保我导入的表中DW字段在主表中都有,此块需要去重,不能一条数据多次插入。这里用到了IGNORE与DISTINCT关键字,能确保每次插入的数据唯一。

insert IGNORE  into  zt_lssywd (MC)
(select DISTINCT dw from sheet_ls_details s where s.dw not in ( select MC from zt_lssywd) )

然后我再根据DW字段去修改我自己导入的表中的外键PKID的

UPDATE sheet_ls_details b SET PKID  = (SELECT id FROM zt_lssywd a  WHERE b.DW = a.mc)

然后我导入的表就完成啦。哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值