📜  mysql 从本地 csv 插入 - SQL (1)

📅  最后修改于: 2023-12-03 15:33:02.892000             🧑  作者: Mango

MySQL 从本地 CSV 插入 - SQL

在MySQL数据库中,通过将本地CSV文件导入数据库表中来快速添加大量数据是非常方便的。本文将为程序员介绍如何使用MySQL从本地CSV插入数据,同时提供详细的代码示例和说明。

准备工作

在开始之前,请确保您已经安装了MySQL和一个CSV文件。您还需要创建一个MySQL数据库和一个表格,以便将数据插入。您可以使用MySQL命令行或任何MySQL客户端工具来完成这些准备工作。

插入基本语法

使用MySQL插入CSV数据需要使用LOAD DATA INFILE语句。以下是基本语法:

LOAD DATA INFILE '<csv_file_path>'
INTO TABLE <table_name>
FIELDS TERMINATED BY ',' 
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 ROWS;
  • <csv_file_path>:指定CSV文件的路径。
  • <table_name>:指定要插入CSV数据的数据库表格名称。
  • FIELDS TERMINATED BY ',':指定CSV文件中的列之间使用逗号分隔符。
  • ENCLOSED BY '"':指定CSV文件中的每列数据的包围字符。
  • LINES TERMINATED BY '\n':指定CSV文件中每行的结束符。
  • IGNORE 1 ROWS:告诉MySQL跳过CSV文件中的第一行,此行很可能是表头。
安全性注意事项

如果您在公共服务器上执行此操作,请注意以下安全性要求:

  • 必须具有文件权限以读取CSV文件。
  • 必须谨慎处理用户上传的CSV文件,以避免恶意代码注入。
  • 如果不小心将该命令运行在具有root权限的MySQL命令行工具中,可能会导致系统损坏。
示例代码

下面的示例代码演示如何从本地CSV文件将数据插入名为students的MySQL数据库表格。

LOAD DATA INFILE '/Users/john/students.csv'
INTO TABLE students
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 ROWS;
结论

通过使用上述方法,您可以快速将本地CSV数据导入MySQL数据库。请注意安全性问题,仔细处理您的文件和用户上传的文件以避免不必要的麻烦。