MySQL LOAD DATA INFILE 导入 CSV 格式数据
2017-08-22 12:31
806 查看
主要介绍将 Neo4j 数据库中数据全部导入到 MySQL 数据库中,将 Neo4j 数据导出为 CSV 格式数据,然后再将 CSV 格式数据导入到 mysql 中。
前半部分,即 Neo4j 数据导出为 CSV 格式的具体过程可以参考:Neo4j 数据导出为 CSV 格式,
这里主要介绍使用 LOAD DATA INFILE 方式将 CSV 格式的数据文件导入到 MySQL 中。
MySQL版本:MySQL 5.5
mysql-workbench 版本:mysql-workbench-community-6.2.5-1ubu1404-amd64
完整的登陆语句为
![](https://oscdn.geek-share.com/Uploads/Images/Content/201708/22/e6e6dd1ec0fac70453064e3b01d6d7f0)
创建数据库
这里设置要导入的数据库为
![](https://oscdn.geek-share.com/Uploads/Images/Content/201708/22/02e000a22fb30cc0e035562416f21f45)
创建表
这里创建与Neo4j 数据导出为 CSV 格式 导出的数据相对应的字段,部分数据为
![](https://oscdn.geek-share.com/Uploads/Images/Content/201708/22/efae969ae460ecd6ade25f0877b772d7)
为方便起见,除起止 id 设为
具体执行为
![](https://oscdn.geek-share.com/Uploads/Images/Content/201708/22/7524d7d89ed06e2592a2e1ea5039ca55)
`LOAD DATA LOCAL INFILE ‘/home/erik/Documents/out10-2.csv’,这里要加上“LOCAL”,然后后面跟本地文件路径,否则会报错。
![](https://oscdn.geek-share.com/Uploads/Images/Content/201708/22/382dde6308c1fd939418c196ef3075dd)
在 mysql-workbench 中查看,部分显示为
![](https://oscdn.geek-share.com/Uploads/Images/Content/201708/22/ff2d97ef660ecb42a0209c574e3f21d9)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201708/22/f32a6114acc743d93e7560790abe6b1e)
并且每个字段都可以正常查看
![](https://oscdn.geek-share.com/Uploads/Images/Content/201708/22/5f383eb5ea0a847b8d18f6aaf383abbc)
![](https://oscdn.geek-share.com/Uploads/Images/Content/201708/22/07d0dbd521e6379f850fb4657b0a3c2c)
https://dev.mysql.com/doc/refman/5.7/en/load-data.html
MYSQL import data from csv using LOAD DATA INFILE - Stack Overflow
https://stackoverflow.com/questions/14127529/mysql-import-data-from-csv-using-load-data-infile
【MySQL实践经验】LOAD DATA INFILE 报错 ERROR 1148 (42000) 或 ERROR 1045 (28000)的解决办法 - slvher的专栏 - CSDN博客
http://blog.csdn.net/slvher/article/details/8768468
前半部分,即 Neo4j 数据导出为 CSV 格式的具体过程可以参考:Neo4j 数据导出为 CSV 格式,
这里主要介绍使用 LOAD DATA INFILE 方式将 CSV 格式的数据文件导入到 MySQL 中。
实验环境
Ubuntu 版本:ubuntu 14.04-desktop-amd64MySQL版本:MySQL 5.5
mysql-workbench 版本:mysql-workbench-community-6.2.5-1ubu1404-amd64
登陆数据库
这里之所以将登陆数据库这么简单的步骤也单独列出来,是因为这里有一个关键的参数要加,因为这里将本地数据文件导入到本地数据库中,所以需要在登陆数据库时添加一个--local-infile选项,否则之后会报没有权限的错误。
完整的登陆语句为
mysql --local-infile -uroot -ppassword
创建数据库和表
创建所需导入的数据库和表,因为导入的数据都是英文格式,而且作为实验无特殊要求,所以这里以最简单的方式创建数据库和表。创建数据库
这里设置要导入的数据库为
netowrk
CREATE DATABASE network;
创建表
这里创建与Neo4j 数据导出为 CSV 格式 导出的数据相对应的字段,部分数据为
为方便起见,除起止 id 设为
int型,其余字段都设置为
VARCHAR(50),
具体执行为
mysql> CREATE TABLE out10( -> start_id int, -> nlabels VARCHAR(50), -> nname VARCHAR(50), -> nlocation VARCHAR(50), -> nip VARCHAR(50), -> nsize VARCHAR(50), -> nzone VARCHAR(50), -> nrack VARCHAR(50), -> nram VARCHAR(50), -> ndisk VARCHAR(50), -> nid VARCHAR(50), -> ncpu VARCHAR(50), -> ntype VARCHAR(50), -> nversions VARCHAR(50), -> nports VARCHAR(50), -> ndependencies VARCHAR(50), -> rel_type VARCHAR(50), -> end_id int, -> mlables VARCHAR(50), -> mname VARCHAR(50), -> mlocation VARCHAR(50), -> msize VARCHAR(50), -> mrack VARCHAR(50), -> mram VARCHAR(50), -> mdisk VARCHAR(50), -> mtype VARCHAR(50), -> mversions VARCHAR(50), -> mports VARCHAR(50), -> mdependencies VARCHAR(50) -> );
导入数据
将数据存放在目录为/home/erik/Documents/out10-2.csv,根据数据特点,只需执行如下操作
mysql> LOAD DATA LOCAL INFILE '/home/erik/Documents/out10-2.csv' -> INTO TABLE out10 -> FIELDS TERMINATED BY ',' -> IGNORE 1 LINES -> ;
`LOAD DATA LOCAL INFILE ‘/home/erik/Documents/out10-2.csv’,这里要加上“LOCAL”,然后后面跟本地文件路径,否则会报错。
FIELDS TERMINATED BY ','是将要导入的数据以逗号为分割标志传入到 MySQL 数据库中,因为之前在 Excel 保存的 CSV 文件默认以逗号为分割。
IGNORE 1 LINES这里忽略第一行,因为 CSV 文件第一行是标签,创建表时已经定义了相应的字段,这里不用输入到数据库中。
在 mysql-workbench 中查看,部分显示为
并且每个字段都可以正常查看
参考资料
MySQL :: MySQL 5.7 Reference Manual :: 13.2.6 LOAD DATA INFILE Syntax:https://dev.mysql.com/doc/refman/5.7/en/load-data.html
MYSQL import data from csv using LOAD DATA INFILE - Stack Overflow
https://stackoverflow.com/questions/14127529/mysql-import-data-from-csv-using-load-data-infile
【MySQL实践经验】LOAD DATA INFILE 报错 ERROR 1148 (42000) 或 ERROR 1045 (28000)的解决办法 - slvher的专栏 - CSDN博客
http://blog.csdn.net/slvher/article/details/8768468
相关文章推荐
- 关于MySQL中使用LOAD DATA INFILE导入csv文件时的日期格式问题
- 【MySQL】数据导出导入成CSV格式
- 利用LOAD DATA将csv文件中的数据导入MySQL
- mysql如何导入csv格式数据
- mysql导入数据load data infile用法
- mysql用LOAD DATA INFILE导入数据
- mysql导入csv格式数据
- mysql如何导入csv格式数据
- MySQL使用JDBC Load Data InFile导入数据注意事项
- Bash中使用MySQL导入导出CSV格式数据
- mysql快速导入5000万条数据过程记录(LOAD DATA INFILE方式)
- MYSQL导入数据load data infile三种方式
- mysql导入导出.csv格式数据
- 解决Mysql导入csv中空值变为0的问题:导入数据时设定格式
- mysql导入数据load data infile用法整理
- mysql导入数据load data infile用法整理
- mysql如何使用load data infile导入中文数据
- LOAD DATA INFILE语句导入数据进入MySQL的一些注意事项
- mysql 导入csv数据时,Load Data Local Infile的权限
- mysql 导入 csv 格式数据