Linux下MySQL导入excel文件

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_42306122/article/details/96431196

首先将excel文件导出为utf-8格式的csv文件(excel里面不需要表头,只需要数据就行),

(划重点)然后用notepad++打开后,选择"编码"选项中"使用ANSI编码"后保存上传至服务器.

一般安装的MySQL编码格式都是UTF-8,可通过show variables like 'char%';查看.若和下图一致,则不需要设置:
在这里插入图片描述

否则请参照这里设置编码(完全按照这篇文章会导致文件编码不对而无法导入,区别在上面划重点那里)

然后创建数据库→创建表(一定要设置主键primary key):

create table shop_product (id int primary key auto_increment,
						   typename varchar(30),
					   	   name varchar(30),
						   price double(5,2), 
                           photos varchar(255));

若创建表时失误删除表时报不能设置外键(foreign key)错误可参照如下方法解决:

这可能是MySQL在InnoDB中设置了foreign key关联,造成无法更新或删除数据。可以通过设置FOREIGN_KEY_CHECKS变量来避免这种情况。

SET FOREIGN_KEY_CHECKS = 0;

删除完成后设置

SET FOREIGN_KEY_CHECKS = 1;


一般会遇到文件权限的问题,报错如下:

"ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement"


此时可通过show variables like "secure_file_priv";查看可导入mysql的安全文件位置.一般为"/var/lib/mysql-files/",可将文件复制到此目录下.


然后导入数据

load data infile "/var/lib/mysql-files/3.csv" into table school_area character set utf8 fields terminated by "," lines terminated by '\r\n';
展开阅读全文

没有更多推荐了,返回首页