load csv into mysql_记录一次mysql使用load into命令导入csv格式数据的过程

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

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

b3139742a3715bdcfdb76e34a2dca052.png

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

2、我们先在mysql中建表。

07f12c356787876e5c07e5d95f810569.png

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

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

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

3、开始插入scv的数据。

6a0745a11e6b9cc88ade9448b9e13576.png

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 当前的值是什么

39e20e7b575611ede09fef0e0730307c.png

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

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

aca306a48ee304b1507aa59b2d6dd4d2.png

然后再重启MySQL就可以了。

问题2:

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值