MySQL 在数据库/表中导入CSV文件17 Mar 2025 | 5 分钟阅读 我们如何将CSV文件导入MySQL数据库或表中?MySQL有一个功能,允许我们将CSV文件导入数据库或表中。CSV代表**逗号分隔值**,它是一个纯文本文件,包含数据列表,并允许我们将其保存为表格格式。它主要用于在不同应用程序之间交换数据。有时它也被称为**字符分隔值**。通常,它使用逗号字符来分隔数据,但也可以使用其他字符,如分号。 当我们需要将复杂数据从一个应用程序导出到CSV文件,然后将文件数据导入到另一个应用程序时,这个文件非常有用。我们可以将CSV文件与各种电子表格程序一起使用,例如MS Excel或Google表格。CSV文件不允许保存公式。 CSV文件结构CSV文件结构包含由逗号运算符分隔的数据列表。例如,以下数据结构可以更清楚地解释: 要导入CSV文件,我们将使用**LOAD DATA INFILE**语句。此语句用于读取文本文件并将其快速导入到数据库表中。 在将文件导入数据库表之前,我们必须确保以下事项:
假设我们有一个名为**mytestdb**的数据库。现在,我们将使用以下查询在此数据库中创建一个名为**Address_Book**的空表: 现在,我们可以使用**SELECT**语句验证新创建的表是否为空,如下所示: ![]() 接下来,我们将创建一个CSV文件。以下**address_book.csv**文件包含第一行作为列标题,其他行是要插入表中的数据。 ![]() 最后,以下语句允许我们将数据从address_book.csv导入到address_book表。 综上所述: 文件位置: 它指定CSV文件在系统中的位置。 FIELD TERMINATED BY ',': 它用于指示文件字段由逗号终止。 ENCLOSED BY '"': 它用于指定文件字段由双引号括起来。 LINES TERMINATED BY '\r\n': 它用于终止CSV文件的每一行。 IGNORE 1 ROWS: 它用于忽略CSV文件的第一行,该行包含不需要导入到表中的列标题。 我们现在可以使用SELECT语句验证新创建的表是否已填充导入的数据,如下所示。 ![]() 导入时转换数据有时,在将CSV文件导入数据库表时,数据格式与表中的相应列不匹配。在这种情况下,我们可以使用带有LOAD DATA INFILE语句的**SET子句**来转换该列。 假设CSV文件的日期列格式为**"dd/mm/yy"**,并且在导入时与目标表的相应列不匹配。为了解决这个问题,我们需要使用**STR_TO_DATE()**函数将其转换为MySQL日期格式,如下所示: 从客户端导入CSV文件到MySQL服务器LOAD DATA INFILE语句还允许我们将CSV文件从客户端(本地系统)导入到**远程**MySQL服务器。 当我们在LOAD DATA INFILE语句中添加**LOCAL**子句时,客户端程序可以读取本地系统上的CSV文件并将其发送到MySQL数据库服务器。此文件将上传到数据库服务器操作系统的**临时文件夹**,例如Windows上的C:\windows\temp和Linux OS上的/tmp。这些文件夹不由MySQL确定或配置。 以下语句解释得更清楚: 在上面,我们可以看到我们只在语句中添加了LOCAL选项。但是,当使用LOCAL选项导入大型CSV文件时,文件加载会稍微慢一些。这是因为此选项需要时间将文件传输到数据库服务器。 当我们使用LOCAL选项时,MySQL用户帐户不需要具有FILE权限即可导入。 LOAD DATA LOCAL INFILE语句在从本地导入文件到远程服务器时存在一些安全问题。在这种情况下,我们应该注意避免潜在的安全风险。 使用MySQL Workbench导入CSV文件MySQL Workbench具有内置工具,允许我们将CSV文件数据导入到表中。它还帮助我们在数据库或表中进行更改之前编辑数据。 以下是将CSV文件数据导入数据库表的步骤: 步骤1: 首先,我们需要在所需的数据库中创建一个表。它确保表的列数与我们的CSV文件中的列数相同。假设我们有一个名为“address_book”的表,其中不包含任何数据,如下图所示: ![]() 步骤2: 打开表后,我们可以使用以下屏幕中红色框中所示的**导入按钮**导入文件。 ![]() 点击导入按钮,会弹出一个窗口屏幕,我们需要选择一个CSV文件,然后点击**下一步**按钮。 ![]() 步骤3: 在下一个向导中,我们需要选择目标表并点击**下一步**按钮。这里,我们有两个选项,一个是使用现有表,另一个是创建新表。 ![]() 步骤4: 在下一个向导中,我们需要配置导入设置并点击**下一步**。 ![]() 步骤5: 在下一个向导中,我们必须监视执行过程并点击**下一步->下一步>完成**以完成该过程。 ![]() 步骤6: 我们可以通过执行SELECT查询来验证数据是否成功导入。 注意:通过上述技术,我们还可以从其他文本文件格式加载数据。下一个主题MySQL 将表导出到CSV |
我们请求您订阅我们的新闻通讯以获取最新更新。