迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 数据库 > MySQL >

如何将 CSV 文件导入 MySQL 数据库中的表中

作者:迹忆客 最近更新:2024/03/26 浏览次数:

本教程文章将介绍两种从逗号分隔值(CSV)文件中导入数据到 MySQL 数据库并插入到表中的方法。

我们将介绍将 CSV 文件导入 MySQL 的不同方法。这个任务可以通过执行一系列 SQL 命令,以编程的方式完成;也可以通过交互式的方式,使用图形化 MySQL 客户端的文件导入对话框,如 HeidiSQL。


LOAD DATA INFILE SQL 将 CSV 导入到 MySQL 中

我们先来看看如何使用 LOAD DATA INFILE SQL 语句来程序化地导入 CSV 文件。

在导入文件之前,需要先创建包含导入数据的表。假设你的 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 字段,以防止文件中的数据格式不正确而导致处理错误。导入数据后,可以直接在数据库中进行清理,读取表的数,并进行必要的验证和修正。

有了数据的目标表后,需要确定 CSV 文件的路径。假设该文件的完整路径是 C:\csvdata\books.csv。那么,要将该文件导入到你的表中,你应该执行命令。

LOAD DATA
INFILE 'c:/csvdata/books.csv'
INTO TABLE BooksCSV ` 

LOAD DATA INFILE 语句要求你指定源文件和目标表。也可以选择指定其他参数,如字段分隔符、文本限定符和是否存在标题行。

在下面的例子中,添加的参数指定字段用逗号分隔,字符串用双引号括起来,第一行必须被忽略,因为它包含列标题。

LOAD DATA
INFILE 'c:/csvdata/books.csv'
INTO TABLE BooksCSV 
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
IGNORE 1 ROWS;

现在,你知道如何在 MySQL 中以编程方式导入 CSV 文件了。


使用 HeidiSQL 向 MySQL 导入 CSV 文件

我们来看看如何使用图形化的 MySQL 客户端(如 HeidiSQL)进行交互式操作。

步骤和我们上面看到的一样。

  • 创建表
  • 将文件的内容导入其中。

使用 HeidiSQL 创建表时,需要将客户端连接到 MySQL 服务器,选择要导入数据的数据库。然后点击数据库上的右键,选择创建新的-表选项。

你必须在相应的字段中输入表的名称并添加列。要添加一个列,点击+ 按钮,并输入其名称和数据类型。

在本例中,表的名称为 BooksCSV,字段与我们在前面的例子中使用的相同。

完成添加列后,单击保存在数据库中创建表。

创建完表后,就可以从 CSV 文件中导入数据了。但是在启动导入过程之前,你需要通过改变客户端和服务器组件的启动参数,启用在客户端和服务器组件上加载本地数据。在启用加载本地数据时,你必须考虑到一些安全因素。要了解更多关于它们的信息,请阅读 MySQL 官方文档中的本文。

当你准备好导入 CSV 文件时,进入 HeidiSQL 的工具菜单,选择导入 CSV 文件选项。你必须指定要导入的 CSV 文件路径,并选择要插入导入数据的数据库和表。如果表中的字段和文件上的字段一样多,可以取消选中表字段。最后,点击 导入!,这个过程就会开始。

为了执行导入,图形界面会发出与我们之前描述的程序化选项相同的 LOAD DATA 命令,所以最终的结果几乎是一样的-数据库表将被从 CSV 文件中读取的数据填充。

关于使用 LOAD DATA 语句的更多信息,请查看 MySQL 官方文档中的本文。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

如何在 MySQL 中声明和使用变量

发布时间:2024/03/26 浏览次数:102 分类:MySQL

当你需要在 MySQL 中的脚本中存储单个值时,最好的方法是使用变量。变量有不同的种类,有必要知道何时以及如何使用每种类型。

在 MySQL 中实现刷新权限

发布时间:2024/03/26 浏览次数:179 分类:MySQL

本教程介绍了 MySQL 中的刷新权限命令,用于刷新授权表并影响允许的更改。

在 MySQL 中设置时区

发布时间:2024/03/26 浏览次数:86 分类:MySQL

在本教程中,我们将学习如何在 MySQL 服务器中更改时区。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便