使用工具

  1. Navicat
  2. Excel

注意事项

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

模拟导入数据

首先选中所需要导入的数据库,双击进入如下界面,选择导入向导,再选择Excel文件,点击下一步

excle外部文件导入hive表_mysql


然后进入选择文件页面,选择你所需要导入的文件以及子表(我这块只有一个子表),然后点击下一步

excle外部文件导入hive表_excle外部文件导入hive表_02


进入如下页面,可以改时间格式,这里你表中时间是什么样的格式,这块就改成什么样的格式。再点击下一步

excle外部文件导入hive表_mongodb_03


这块可以选择你自己所导入的目标表中,再点击下一步

excle外部文件导入hive表_sql_04


数据库表中各个字段的名字与类型可以在这块修改,再点击下一步

excle外部文件导入hive表_mysql_05


再选择下一步

excle外部文件导入hive表_sql_06


点击开始,便可导入成功啦。

excle外部文件导入hive表_数据库_07

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

如图,这是我导入的数据,外键PKID为空,没办法与我的主表关联起来

注:我的DW不为空

excle外部文件导入hive表_mysql_08


首先我先写一条语句,在我的主表中插入我导入的表中没有的名称,确保我导入的表中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)

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