使用load data方式将xlsx表格百万行文件快速导入mysql中(二)

目录

 

一、准备阶段

1、直接将带有很长字符串的某列的xlsx格式表格通过导入到mysql中。

2、去掉带有很长字符串的列,再导入xlsx格式文件到mysql中。

3、将xlsx格式文件li另存为txt格式,再导入到mysql中。

4、先将xlsx格式文件另存为csv格式,再导入到mysql中。

二、相关配置

三、load data


一、准备阶段

首先测试以下导入方式(均使用load data方法):

1、直接将带有很长字符串的某列的xlsx格式表格通过导入到mysql中。

结果:不仅出现乱码,而且还出现会多出很多行的情况,这是因为包含了很长字符串的行会自动换行。导致行数虚增,这种方式导入不靠谱,或者说先要解决掉这个很长字符串的列。

2、去掉带有很长字符串的列,再导入xlsx格式文件到mysql中。

结果:会有乱码,并且行数较少,明显少于需求行,与python导入出现的情况类似。也不适合。

3、将xlsx格式文件li另存为txt格式,再导入到mysql中。

结果:可行,不缺行。

4、先将xlsx格式文件另存为csv格式,再导入到mysql中。

结果:可行,不缺行,完美,更倾向于这种方式。

二、相关配置

1、查看某个表格字段格式:

show create table test1;

修改这个字段为gbk格式:

alter table test1 default character set gbk;

2、查看字符设置char的变量:

show variables like 'char%';

修改为gbk:

set character_set_database =gbk;

3、查看sql_mode是否有限制:

show variables like '%sql_mode%';

如果有STRICT_TRANS_TABLES,这个表示超过长度就报错,可以去掉这个设置:

set SESSION sql_mode='';

4、查看某个表的行数:

select count(*) from test1;

注意,count(*)是连在一起的,不要分开。

三、load data

load data infile 'E:\\XSH\\MySQL\\Jan.csv'
into table test1
fields terminated by ','
ignore 1 lines
(交易订单号,实收金额,商品小计,商品编码,商品名称);

注意:导入乱码有可能是character_set_database和数据库的表的字段的格式不匹配,需要相同的数据格式,可以用front修改表内字段的格式为gbk。

如有疑问,欢迎探讨!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值