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

posted @ 2018-10-30 10:48  峰哥ge  阅读(1623)  评论(0编辑  收藏  举报