• 记录一次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/

  • 相关阅读:
    请简单说一下你了解的端口及对应的服务?
    地址解析协议ARP和逆地址解析协议RARP
    IP地址分类
    OSI分层和五层协议
    对象如何晋升到老年代?
    JVM 垃圾回收机制,何时触发 MinorGC 等操作
    什么是引用?
    类加载机制
    Solaris10怎么创建flash archive
    RPC: program not registered (ZT)
  • 原文地址:https://www.cnblogs.com/FengGeBlog/p/9875470.html
Copyright © 2020-2023  润新知