zoukankan      html  css  js  c++  java
  • 记录一次mysql使用load into命令导入csv格式数据的过程

    今天从qwiklab实验获取一组数据,大概有5万条,在qwiklab实验室使用的是pgsql数据库,但是今天想把他插入本地的mysql数据库中。

    1、首先是查看一下数据内容:

    数据中有的是空值,有的是boolean类型的值。那我们就要想想怎么插入数据库了。

    2、我们先在mysql中建表。

    建表语句比较长,一共有18个字段。

    这里说一下:因为一开始是将数据中的“true”和“false”的数据插入到Mysql的boolean类型中,但是出现了50万条的警告,平均一条数据就10个警告。出现警告的原因是:字符“true”无法插入mysql的boolean类型中,感觉这就很奇怪了,仔细分析一下原来是数据文件中的“true”导入到数据库中变成了字符类型了,导致插入不进去(这里声明一点,mysql是没有boolean类型的,凡是将字段属性声明为boolean类型,mysql会自动转化为tinyint(1)类型)。也就是说,字符类型插入数值类型,那是肯定插不进去的啊。

    所以我就不在mysql中创建boolean的属性了,直接创建成varchar类型的属性了。

    3、开始插入scv的数据。

     4、这样子就插入成功了。也没有警告。

    问题1:

    尝试导入数据的时候出现错误:

    The MySQL server is running with the --secure-file-priv option so it cannot execute this statement

    上网查了一下,应该是mysql设置的权限,可以使用

    show variables like '%secure%';查看 secure-file-priv 当前的值是什么

     请注意上面的这个“/root/”是我修改之后的,刚开始报错的时候查看这个值是“NULL”。

    我们需要在配置文件中修改这个值

    然后再重启MySQL就可以了。

    问题2:

    我们可以参考这个博客文章的导入数据的错误分析:http://blog.itpub.net/28218939/viewspace-2139721/

  • 相关阅读:
    bzoj-2748 2748: [HAOI2012]音量调节(dp)
    bzoj-2338 2338: [HNOI2011]数矩形(计算几何)
    bzoj-3444 3444: 最后的晚餐(组合数学)
    codeforces 709E E. Centroids(树形dp)
    codeforces 709D D. Recover the String(构造)
    codeforces 709C C. Letters Cyclic Shift(贪心)
    codeforces 709B B. Checkpoints(水题)
    codeforces 709A A. Juicer(水题)
    Repeat Number
    hdu 1003 Max Sum (动态规划)
  • 原文地址:https://www.cnblogs.com/FengGeBlog/p/9875470.html
Copyright © 2011-2022 走看看