mysql命令行导入csv文件(各种类型文件),涵盖各种报错解决(亲测)

导数命令
fields terminated by 分隔符 lines terminated by换行符
文件不能加表头,否则也会当成数据插入
下面命令是万能的,可以导入各类型文件,文末扩展txt文件导入
导入csv文件

 load data local infile 'E:\\tmp\\prod.csv' into table aa fields terminated by ',' lines terminated by '\r\n';

报错:Loading local data is disabled; this must be enabled on both the client and server sides

翻译:forLoading local data被禁用;这必须在客户端和服务器端都启用

我们的这种报错是属于mysql导入数据报错:local_infile服务器变量指示能否使用load data local infile命令。该变量为OFF时,禁用客户端的load data local infile命令,只要我们将该变量设置为ON时, 报错才会消失。
将local_infile的变量值设置为on

set global local_infile=1;

查看

show global variables like 'local_infile';

报错:ERROR 2068 (HY000): LOAD DATA LOCAL INFILE file request rejected due to restrictions on access.
登录mysql时加上–local-infile参数即可:mysql -uroot -p123456 --local-infile
由于我用的mysql command line client,在登录时无法选择参数,因此可以切换用户,等同于重新登录。
用system命令执行新的shell就可以
mysql> system mysql -uroot -p123456 --local-infile

报错:ERROR 2 (HY000): File ‘E: mpprod.xlsx’ not found (OS errno 2 - No such file or directory)
在这里插入图片描述

windows路径需要用\
报错:ERROR 1300 (HY000): Invalid utf8mb4 character string: ‘PK’
在这里插入图片描述

excle字符编码不同,导数会乱码报错,把数据粘贴到txt中再改成csv格式导入即可,注意txt中格式选utf-8无BOM格式编码。

扩展
txt文件导入
建表a

CREATE TABLE a(id INT,NAME VARCHAR(20))

asd.txt文件数据
在这里插入图片描述
执行导入命令,注意字段分隔符是$

 load data local infile 'C:\\Users\\70201\\Desktop\\asd.txt' into table a fields terminated by '$' lines terminated by '\r\n';

在这里插入图片描述

查询结果
在这里插入图片描述

  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值