MySQL使用LOAD DATA INFILE导入CSV

2023-12-25 12:28:25

说明

有时候我们需要使用CSV来进行数据的存储或迁移,那么对于把CSV导入到MySQL的基本操作就十分必要了,我们可以使用LOAD DATA INFILE来把CSV文件导入到MySQL中。

  1. 查看功能是否开启

LOAD DATA INFILE这个功能默认是关闭的,当我们没有开启这个功能时执行LOAD DATA INFILE会报错,我们可以通过如下命令查看功能状态。

show global variables like 'local_infile';

如果没有开启,可以通过如下命令进行开启

set global local_infile=1;
  1. 从文件读取行信息到表中

我在数据库中新建一个表,默认的id字段的类型改为varchar即字符串类型,这样才能写进去。其他字段就不需要了。主要这里路径是左斜杠

load data local infile 'C:/Users/Administrator/Desktop/2.txt' into table userlist fields terminated by '\n';

操作步骤示例

要将 CSV 文件导入 MySQL 数据库,你可以使用以下步骤:

  1. 创建一个新的数据库表,用于存储 CSV 文件中的数据。你可以使用 MySQL 的命令行客户端或图形界面工具(如 phpMyAdmin)来执行以下命令:
CREATE TABLE your_table_name (
  column1 datatype,
  column2 datatype,
  ...
);

确保将 your_table_name 替换为你希望创建的表的实际名称,并根据 CSV 文件中的列定义来指定合适的列名和数据类型。

  1. 打开 CSV 文件,确保它与你的 MySQL 表的结构相匹配。确保 CSV 文件的列顺序和表中的列顺序一致,并且数据类型匹配。

  2. 使用 MySQL 的 LOAD DATA INFILE 语句将 CSV 文件导入表中。在命令行客户端或图形界面工具中执行以下命令:

LOAD DATA INFILE 'path/to/your/file.csv'
INTO TABLE your_table_name
FIELDS TERMINATED BY ',' -- 指定字段分隔符
ENCLOSED BY '"' -- 指定字段引用符(如果有)
LINES TERMINATED BY '\n' -- 指定行分隔符
IGNORE 1 LINES; -- 忽略 CSV 文件中的标题行(如果有)

确保将 path/to/your/file.csv 替换为实际的 CSV 文件路径,并根据需要调整字段分隔符、字段引用符和行分隔符。如果 CSV 文件包含标题行,可以使用 IGNORE 1 LINES 来忽略它。

  1. 执行上述命令后,CSV 文件中的数据将被导入到 MySQL 表中。

请注意,导入过程中需要确保 MySQL 用户具有适当的权限来执行文件加载操作。此外,如果 CSV 文件中包含大量数据,可能需要适当调整 MySQL 的配置参数(如 max_allowed_packetinnodb_buffer_pool_size)以提高导入性能。

以上是将 CSV 文件导入 MySQL 数据库的基本步骤。根据实际情况,你可能需要根据 CSV 文件的格式和目标表的结构进行一些调整。

文章来源:https://blog.csdn.net/somken/article/details/135195243
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。