MySQL如何将CSV文件快速导入MySQL中

 更新时间:2024年04月17日 08:36:02   作者:何为xl  
有时候我们可能会把CSV中的数据导入到某个数据库的表中,比如做报表分析的时候,下面这篇文章主要给大家介绍了关于MySQL如何将CSV文件快速导入MySQL中的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下

一般来说,将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中的文章就介绍到这了,更多相关CSV文件快速导入MySQL内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • MySQL 公用表达式的实现示例

    MySQL 公用表达式的实现示例

    公用表表达式和生成列是MySQL8.x版本中新增的特性,本文主要介绍了MySQL公用表达式的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-09-09
  • MySQL不就是多表查询吗

    MySQL不就是多表查询吗

    这篇文章主要介绍了MySQL多表查询相关知识,今天我们学习要对多张表进行相关操作,相比较于单一的表来说,多张表操作相对复杂一些,本文给大家介绍的非常详细,需要的朋友可以参考下
    2023-06-06
  • MySQL的prepare使用及遇到bug解析过程

    MySQL的prepare使用及遇到bug解析过程

    在一次开发中使用 MySQL PREPARE 以后,从 prepare 直接取 name 赋值给 lex->prepared_stmt_name 然后给 EXECUTE 用,发现有一定概率找不到 prepare stmt 的 name,于是开始动手调查问题发生的原因,本文给大家分享mysql prepare使用及问题解决,感兴趣的朋友一起看看吧
    2022-05-05
  • Windows中MySQL root用户忘记密码解决方案

    Windows中MySQL root用户忘记密码解决方案

    在实际应用中,经常会出现忘记mysql管理员用户root的密码的情况出现,那么我们如何来设置一个新密码从而登录数据库呢,下面我们来探讨下
    2014-07-07
  • MySQL性能监控与安全管理的完整指南

    MySQL性能监控与安全管理的完整指南

    MySQL 的性能监控和安全管控是数据库运维的核心环节,本文将深入探讨 MySQL 的性能监控工具、安全审计功能以及精细化的权限管理体系,帮助您构建高性能且安全可靠的数据库环境,需要的朋友可以参考下
    2025-10-10
  • MySQL之主键索引排序失效问题

    MySQL之主键索引排序失效问题

    这篇文章主要介绍了MySQL之主键索引排序失效问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • mysql报1292 Incorrect datetime value错误的解决方法

    mysql报1292 Incorrect datetime value错误的解决方法

    这篇文章主要给大家介绍如何解决mysql报1292 Incorrect datetime value错误,文中有详细的解决方案,具有一定的参考价值,需要的同学可以参考阅读下本文
    2023-07-07
  • MySQL mysqladmin客户端的使用简介

    MySQL mysqladmin客户端的使用简介

    这篇文章主要介绍了MySQL mysqladmin客户端的使用简介,帮助大家更好的理解和学习使用MySQL,感兴趣的朋友可以了解下
    2021-03-03
  • MYSQL建库和建表的基本操作方法指南

    MYSQL建库和建表的基本操作方法指南

    在MySQL数据库设计中,建库建表的技巧至关重要,它们直接影响到数据库的稳定性和效率,这篇文章主要介绍了MYSQL建库和建表的基本操作方法,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-09-09
  • 如何设计高效合理的MySQL查询语句

    如何设计高效合理的MySQL查询语句

    合理的MySQL查询语句可以让我们的MySQL数据库效率更高,那么如何设计高效合理的查询语句就成为了摆在我们面前的问题。
    2015-08-08

最新评论