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启用列编辑,简单来说,就是复制你输入的字符,没行都一样。

    知人者智,自知者明,胜人者有力,自胜者强。
  • 相关阅读:
    Hanoi塔
    采药
    进制转换(大数)
    Load Balancing with NGINX 负载均衡算法
    upstream模块实现反向代理的功能
    epoll
    在nginx启动后,如果我们要操作nginx,要怎么做呢 别增加无谓的上下文切换 异步非阻塞的方式来处理请求 worker的个数为cpu的核数 红黑树
    粘性会话 session affinity sticky session requests from the same client to be passed to the same server in a group of servers
    负载均衡 4层协议 7层协议
    A Secure Cookie Protocol 安全cookie协议 配置服务器Cookie
  • 原文地址:https://www.cnblogs.com/nanfengxiangbei/p/15010139.html
Copyright © 2011-2022 走看看