将记录从excel当中导出为.sql文件,再新增到数据库

一、背景

临时遇到了一个需求,比如根据人员的名字查询对应记录,看起来还是很简单的,直接用select查询就可以,然而如果此时存在以下情况:

  • 数据库根本就没有人员信息表;------这个倒是好操作;
  • 现有所有人员信息记录都放在了一个Excel文件当中,记录数将近12w条;-------新增记录的操作,如果采用手动一条一条写新增语句,非常容易出错、操作又很繁琐;

在不考虑java单独编写api,将excel输出.sql文件的情况下,怎么实现大批量导出数据表记录到新增数据库当中呢?接下来以一个小的例子来演示一下具体操作:

二、具体实现

1、建表

比如我这边已经在本地建好了一个信息表:

2、打开存有人员信息的excel表

在excel当中,新增一列,专门用来保存拼接好的新增sql语句:

然后,将鼠标放到已经拿到的拼接结果单元格的右下侧(看图):

3、导出sql文件:

从excel记录表当中,复制这一列保存了sql语句的记录到notepad++;(我自己用的是notepad++,你也可以新建一个txt文件,然后粘贴进去,保存后修改文件的后缀名为.sql即可;

检查一下没有问题,就保存到桌面,然后改一下文件的后缀名为.sql:

4、在sql可视化工具当中,导入sql文件:

选中文件后,执行一下:

5、导入结果出现乱码?

方式一:不用excel生成的sql语句放到文本编辑当中 ,保存为.sql文件,可以直接复制所有的sql语句,在navicate或者sqlyog上边的sql编辑器里直接粘贴,然后全选执行即可;

方式二:在保存.sql文件的时候,最前边加上一行,/*!40101 SET NAMES utf8 */;

如图:

然后再重新导入到数据库就可以得到以下结果:

三、小结

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值