MySQL将CSV文件快速导入MySQL中的实现

 更新时间:2023年11月07日 11:28:53   作者:何为xl  
本文主要介绍了MySQL将CSV文件快速导入MySQL中的实现,主要包括navicat、workbench等软件中的导入向导手动导入或使用load data infile命令导入,感兴趣的可以了解一下

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

  • 使用 navicat、workbench 等软件中的导入向导手动导入;
  • 使用 load data infile 命令导入

前者速度较慢,适合数据量比较小的时候,而对于大文件,我们需要使用命令行导入。

方法一:使用navicat等软件的导入向导

打开安装好的Navicat Premium,连接数据库。

成功连接后如下图:

创建数据库

点击“方向导入”

选择需要导入的文件类型

选择需要导入文件的路径

查看导入的表结构是否正确

导入成功

如果出现中文乱码

解决方案:

将原来存储在桌面上的 OrderData 文件通过 Notepad++ 进行转码,格式为 UTF-8 点击OrderDaTa.csv, 右键用 Notepad++ 打开,修改编码。

重新导入数据

点击开始按钮,数据导入中…

方法二:命令行导入(LOAD DATA INFILE SQL)

准备工作

在mysql中将表结构先建好,包括字段名及类型等

假设你的 CSV 文件包含图书信息,分为 ISBN、Title、Author 和 ListPrice 字段。要创建这样一个表,你需要执行这样的命令。

CREATE TABLE BooksCSV (
    ISBN VARCHAR(255) NULL,
    title VARCHAR(255) NULL,
    author VARCHAR(255) NULL,
    ListPrice VARCHAR(255) NULL
);

两个建议:

  • 建议所有的字段都接纳 NULL 值,并且表没有主键,因为事先并不知道 CSV 文件中的数据是否完整和规范。
  • 即使是数字数据,也只使用 VARCHAR 字段,以防止文件中的数据格式不正确而导致处理错误。导入数据后,可以直接在数据库中进行清理,读取表的数,并进行必要的验证和修正。

使用如下命令查看是否允许从外部路径导入文件

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的细节可在此地址查询

https://www.mysqlzh.com/doc/126/255.html

到此这篇关于MySQL将CSV文件快速导入MySQL中的实现的文章就介绍到这了,更多相关MySQL CSV导入MySQL内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • MySQL实现差集(Minus)和交集(Intersect)测试报告

    MySQL实现差集(Minus)和交集(Intersect)测试报告

    MySQL没有实现Minus和Intersect功能,就像它也没有实现cube的功能一样。
    2014-06-06
  • Mysql索引覆盖的实现

    Mysql索引覆盖的实现

    本文主要介绍了Mysql索引覆盖的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • 一文带你分清MySQL回表查询与索引覆盖

    一文带你分清MySQL回表查询与索引覆盖

    这篇文章主要给大家详细介绍如何分清MySQL回表查询与索引覆盖,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • MySQL 4种导入数据的方法

    MySQL 4种导入数据的方法

    这篇文章主要介绍了MySQL 导入 导出数据的方法,文中讲解非常详细,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-07-07
  • mysql 8.0.20 winx64安装配置方法图文教程

    mysql 8.0.20 winx64安装配置方法图文教程

    这篇文章主要为大家详细介绍了mysql 8.0.20 winx64安装配置方法图文教程,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-05-05
  • mysql Access denied for user ‘root’@’localhost’ (using password: YES)解决方法

    mysql Access denied for user ‘root’@’localhost’ (using passw

    这篇文章主要介绍了mysql Access denied for user ‘root’@’localhost’ (using password: YES)解决方法,本文给出详细的解决步骤及操作注释,需要的朋友可以参考下
    2015-07-07
  • MySQL 分库分表的项目实践

    MySQL 分库分表的项目实践

    当用户量级上升,写请求越来越多,这时需要用到分库分表,本文就介绍了MySQL 分库分表的项目实践,具有一定的参考价值,感兴趣的可以了解一下
    2022-04-04
  • Mysql优化order by语句的方法详解

    Mysql优化order by语句的方法详解

    本篇文章我们将了解ORDER BY语句的优化,在文中给大家提到了mysql中的两种排序方式,需要的朋友参考下吧
    2018-08-08
  • 教你如何恢复使用MEB备份的MySQL数据库

    教你如何恢复使用MEB备份的MySQL数据库

    这篇文章主要介绍了教你如何恢复使用MEB备份的MySQL数据库的具体方法,需要的朋友可以参考下
    2016-09-09
  • 一台电脑(windows系统)安装两个版本MYSQL方法步骤

    一台电脑(windows系统)安装两个版本MYSQL方法步骤

    由于新旧项目数据库版本差距太大,编码格式不同,引擎也不同,所以只好装两个数据库,这篇文章主要给大家介绍了关于一台电脑(windows系统)安装两个版本MYSQL的方法步骤,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-03-03

最新评论