关于CSV文件导入到数据的方法以及遇到的问题和解决方案

来源:互联网 发布:网络直播app电视版 编辑:程序博客网 时间:2024/06/04 23:18

最近做机器学习,在网上找到了一些数据要进行做实验。现在下来的是.CSV的文件,因为数据量比较大,故我需要把其导入到数据库中,我使用的数据库是Mysql5.7版本。

  注意,Mysql为用户提供了专门的导入数据库的函数,即为Load_file(),故我们其实直接在任何能执行sql命令的地方执行如下的指令就行。

  

csv导入mysql

load data infile 'C:\\Users\\UserName\\Desktop\\test.csv' 

into table `table` //此时的'table'为表明,根据自己的需要进行更改,注意需要指定数据库名,如果有默认的数据库名也行

fields terminated by ',' optionally enclosed by '"' escaped by '"' 

lines terminated by '\n'; 

mysql导入csv

select * from `table`

load data infile 'C:\\Users\\UserName\\Desktop\\test.csv' 

fields terminated by ',' optionally enclosed by '"' escaped by '"' 

lines terminated by '\n'; 

如果乱码,可用相关编辑器打开.csv文件,另存为utf-8的csv

注意事项:1.在进行导入的时候如果提示如下错误:Error Code: 1290. The MySQL server is running with the --secure-file-priv option so it cannot execute this statement

这个错误指的是在mysql的配置里面已经设置好了一个专门用来导入数据库的目录,你只有把文件放到这个目录下才能把文件的内容导入到数据库中,那么问题来了,你怎么找到这个目录呢?

2. 查看安装的mysql的目录,我的是在C:\ProgramData\MySQL\MySQL Server 5.7,在这个目录下有一个文件my.ini

这个文件就是你的mysql配置文件,打开文件,直接搜索secure迅速定位到secure-file-priv 项,如图

就是说我的mysql的导入文件的目录是在如图的目录下,然后我找到这个目录


最后我导入数据库,

最后提示执行成功:

15:55:50 load data infile 'C:\\ProgramData\\MySQL\\MySQL Server 5.7\\Uploads\\movies.csv'  into table `movies`  fields terminated by ',' optionally enclosed by '"' escaped by '"'  lines terminated by '\n'

33870 row(s) affected Records: 33870  Deleted: 0  Skipped: 0  Warnings: 01.703 sec

0 0