ermutuxia

2020-10-23   阅读量: 1788

workbench 用load data infile导入csv数据,以追加已有表的方式导入数据(数据中包含字段名字)load data infle命令

扫码加入数据分析学习群

现有数据如下:

data_route_english.csv

image.png


先创建一个表

create database dd;

use dd;

create table biao2(

data1 int ,

name_of varchar(8) not null ,

linetype varchar(8) not null ,

start1 varchar(8) not null ,

end1 varchar(8),

number_of_worker int,

time_euse int,

total_of_goods int,

turnover_of_goods double,

goods varchar(8),

turnover double



);


show variables like '%secure%';

#'D:\\data_route_english.csv'

#'C:\\ProgramData\\MySQL\\MySQL Server 8.0\\Uploads\\biao11.csv'

#用workbench导入

#然后通过load data infile命令在该表中追加数据

LOAD DATA INFILE 'C:\\ProgramData\\MySQL\\MySQL Server 8.0\\Uploads\\data_route_english.csv' #一般直接将文件放在Uploads文件夹里面

#注意如果你要导入的数据没有放到上面的C:\\ProgramData\\MySQL\\MySQL Server 8.0\\Uploads\\的文件加中,

#而是随便将数据放在了一个文件夹中,执行命令的时候就会出现错误提示

#Error Code: 1290. The MySQL server is running with the --secure-file-priv option so it cannot execute this statement0.000 sec

#下面继续上面的命令

INTO TABLE biao2

FIELDS TERMINATED BY '\,'

OPTIONALLY ENCLOSED BY '\"'

LINES TERMINATED by'\r\n'

ignore 1 lines; #跳过第一行的意思


#select * from biao2;

image.png


然后可以看到数据导入成功了

image.png



注意几点:1.用load infile data命令导入csv数据的时候需要将数据放到特定的文件夹下,当然这个特定的文件夹路径可以通过设置的方式修改,修改起来比较麻烦,最好不要修改这个默认的安全路径,而是直接将需要导入的文件放入这个默认的安全路径下。

2.如果用workbench向导菜单式操作导入数据的话,不需要注意这个路径问题,数据可以放到任意的文件夹下,然后导入,只有load infile data的命令才会有这个限制。

3.执行查询语句的时候一定要注意有两个执行按钮,第一个执行按钮是执行选中的代码或者是执行整个文件,而第二个按钮是执行光标下面的代码,这个一定要注意。通常都是点击第一个按钮。

4.如果你要导入的csv文件的表格第一行为中文名字的话也没有关系,因为上面的命令写了忽略第一行

5.LOAD DATA INFILE后面的路径必须要用转义字符,否则mysql无法识别,会提示

Error Code: 1290. The MySQL server is running with the --secure-file-priv option so it cannot execute this statement

但其实根本不是这个原因导致的,这会很坑,大家一定要注意

image.png

添加CDA认证专家【维克多阿涛】,微信号:【cdashijiazhuang】,提供数据分析指导及CDA考试秘籍。已助千人通过CDA数字化人才认证。欢迎交流,共同成长!
0.3680 2 1 关注作者 收藏

评论(1)

马锦涛
2020-10-23

666

0.0000 0 0 回复

推荐课程