一般来说,将csv文件导入mysql数据库有两种办法:

  • 使用navicat、workbench等软件中的导入向导手动导入
  • 使用load data infile命令导入
    前者速度较慢,适合数据量比较小的时候,而对于大文件,我们需要使用命令行导入

准备工作

  • 在mysql中将表结构先建好,包括字段名及类型等
  • 使用如下命令查看是否允许从外部路径导入文件
show variables like '%secure%';

如果结果显示secure_file_priv=‘’,即空字符串,则无需改动;如果secure_file_priv=null,则需要在mysql的配置文件my.ini中添加如下行secure_file_priv=‘’,之后重启mysql服务。

  • 使用如下命令查看是否允许本地导入
show variables like 'local_infile';

如果结果是off,则改使用如下命令改为on

set global local_infile=on;

导入文件

使用如下命令导入文件
注意:文件路径不能有中文!!

load data local infile 'file_path' # 文件路径
into table daily_price             # 表名
character set utf8                 # 编码
fields terminated by ','           # 分隔符
lines terminated by '\r\n'         # 换行符,windows下是\r\n
ignore 1 lines;                    # 忽略第一行,因为表头已建好

其他有关load data infile的细节可在此地址查询

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐