zoukankan      html  css  js  c++  java
  • 记一次给一个60万条数据的EXCEL,把EXCEL里的数据导入到mysql的表中

      由于是新系统切换,老系统有历史数据,需要进行割接,然后业务方给了一个60万数据的excel,领导让我导入到现网数据库中去。我当时的想法是,通过java的poi工具类解析excel,然后生成insert into的sql放到现网的sql工具类上去执行。花费了两个多小时,工具类写好了,代码测试完毕,准备切换到60万数据时候,发现解析不出来了,头大。后面在百度上找到可以通过excel的公式功能快速拼接insert into语句。最后不到半小时就解决了这个60万数据导入的问题。我记录下解决的过程:

    1、业务方给的excel需要重新复制到一个新的EXCEL中,我不知道为啥,输入的计算公式就是不生效

    2、编写自己想要生成的insert into sql:

    ="INSERT INTO t_user_gray_his (JOIN_TIME,ACCOUNT,PHONE,`ADD_CREATE_STAFFID`, `DEL_CREATE_STAFFID`, `USER_TYPE`) VALUES(STR_TO_DATE('"&A2&"','%d/%m/%Y %H:%i:%s') ,'"&B2&"' ,'"&C2&"','admin','admin','0');"

    其中,&A2&表示JOIN_TIME所在单元格位置,&B2&表示ACCOUNT所在单元格位置,以此类推。。。

    生成的sql语句如下:

    INSERT INTO t_user_gray_his (JOIN_TIME,ACCOUNT,PHONE,`ADD_CREATE_STAFFID`, `DEL_CREATE_STAFFID`, `USER_TYPE`) VALUES(STR_TO_DATE('1/4/2019 00:00:00','%d/%m/%Y %H:%i:%s') ,'Z8B42DB46E4D' ,'13400000000','admin','admin','0');

    3、可以通过拖住鼠标右键下拉,来自动填充,我60万数据,这样肯定是不行的,后面发现,可以先复制,然后shift+第一行+最后一行,然后粘贴,公式全部自动填充

    4、把生成sql语句拷贝出来,生成一个.sql文件,excel中可能直接拷贝不出,需要先拷贝,然后另起一列,粘贴为值,然后才可以拷贝出来

      如果只导入一列的话,可以通过notepad工具的alt+c列编辑功能,但是灵活性较差,先把一列数据复制到notepad中,然后alt+c启用列编辑,简单来说,就是复制你输入的字符,没行都一样。

    知人者智,自知者明,胜人者有力,自胜者强。
  • 相关阅读:
    python
    python
    python
    Django学习手册
    python
    Django学习手册
    [ThinkPHP] 独立分组配置,坑!!!
    vim 代码片段:通过vundle插件管理器安装ultisnips |centos6.5|vim7.2
    CESHI
    thinkphp实现功能:验证码
  • 原文地址:https://www.cnblogs.com/nanfengxiangbei/p/15010139.html
Copyright © 2011-2022 走看看