MySQL 如何将文本文件中用分隔符分隔的数据导入到MySQL表中?

MySQL 如何将文本文件中用分隔符分隔的数据导入到MySQL表中?

在实际的数据库操作中,我们往往需要将文本文件中的数据导入到MySQL表中。如果文本文件中的数据是用特定的分隔符分隔的,那么这一任务就会非常容易完成。

以下是一个示例文件”example.txt”,其中用逗号分隔了五列数据:

1,name1,age1,city1,phone1
2,name2,age2,city2,phone2
3,name3,age3,city3,phone3

我们可以使用MySQL自带的”LOAD DATA INFILE”语句来实现导入操作。下面是一个示例代码:

LOAD DATA INFILE '/path/to/example.txt'    # 文件路径
INTO TABLE example    # 导入的目标表名
FIELDS TERMINATED BY ','    # 列数据分隔符
LINES TERMINATED BY '\n'    # 行数据分隔符
IGNORE 1 LINES;    # 忽略第一行(因为它包含了列名)

这段代码告诉MySQL,将”/path/to/example.txt”文件中的数据导入到”example”表中,列数据分隔符是逗号,行数据分隔符是换行符,并且忽略第一行。

上述代码中,”FIELDS TERMINATED BY”和”LINES TERMINATED BY”语句非常重要。如果分隔符和行终止符不正确,导入的数据可能会出现问题或者失败。在实际操作中,不同的情况下可能需要设置不同的分隔符和行终止符。

另外,需要注意的一点是,为了使用”LOAD DATA INFILE”语句,需要在MySQL的配置文件”my.cnf”中设置”secure_file_priv”参数。该参数指定了可以导入数据的文件路径。如果没有设置该参数,可能会提示”ERROR 1290 (HY000): The MySQL server is running with the –secure-file-priv option so it cannot execute this statement”错误。可以按照以下步骤设置该参数:

  1. 在MySQL命令行中输入以下命令,查找MySQL配置文件的存放位置:
mysql --help | grep 'Default options' -A 1
  1. 找到”my.cnf”文件的位置后,编辑该文件,并添加以下的配置:
[mysqld]
secure_file_priv = /path/to/folder

其中,/path/to/folder是可以导入数据的文件夹的路径。

  1. 重启MySQL服务,让配置生效。

阅读更多:MySQL 教程

结论

在MySQL中,使用”LOAD DATA INFILE”语句可以方便地将文本文件中的数据导入到数据库表中。为了保证导入成功,需要设置正确的列数据分隔符和行数据分隔符,并在MySQL配置文件中设置”secure_file_priv”参数。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程