我的知识记录

如何使用 LOAD DATA INFILE 导入数据? 使用 LOAD DATA INFILE 有哪些注意事项?

1. LOAD DATA INFILE 的作用是什么?

LOAD DATA INFILE 是 MySQL 提供的一个高效的数据导入命令,用于将文本文件(如 CSV、TSV)中的数据快速加载到数据库表中。它适用于批量导入日志、报表或外部系统数据。

2. 基本使用方法

基本语法如下:

 
sql
LOAD DATA INFILE '文件路径' INTO TABLE 表名 FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 行数行 (column1, column2, ...)

示例:


 
sql
LOAD DATA INFILE '/tmp/data.csv' INTO TABLE users FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 ROWS (id, name, email);
该语句会将 /tmp/data.csv 文件中的数据导入 users 表,并跳过第一行的标题。

3. 常用参数说明

参数 说明
FIELDS TERMINATED BY 指定字段之间的分隔符,默认为逗号(,
ENCLOSED BY 指定字段的包围符号,如双引号("
LINES TERMINATED BY 指定每行结束的字符,通常为换行符(\n
IGNORE 数量 ROWS 忽略文件开头的若干行,常用于跳过标题行

4. 注意事项与建议

使用前提:

  • MySQL 用户需要拥有 FILE 权限。
  • 文件路径必须是服务器上的绝对路径,且 MySQL 进程可读取该文件。
  • 目标表结构需与文件格式匹配,否则可能导致导入失败。

性能建议:

  • 在导入大数据量时,可以关闭索引或事务提交(如使用 SET autocommit=0;),导入后再恢复。
  • 导入前建议先做数据校验,确保字段类型和长度符合要求。
  • 避免在高峰期执行导入操作,以免影响数据库性能。

5. 替代方案推荐

如果无法使用 LOAD DATA INFILE,可考虑以下方式:
  • 使用 mysqlimport 工具进行命令行导入。
  • 通过程序代码逐条插入数据(适合小数据量)。
  • 使用客户端工具(如 Navicat、MySQL Workbench)导入文件。

6. 总结

LOAD DATA INFILE 是一种高效的数据库导入方式,特别适合处理大规模文本数据。但在实际使用中需要注意权限配置、文件路径、格式匹配等问题。合理利用此功能,可以显著提升数据导入效率,同时保障数据一致性。
 

如何使用 LOAD DATA INFILE 导入数据? 使用 LOAD DATA INFILE 有哪些注意事项?

标签:LOAD DATA INFILE- 数据导入- MySQL- 文件导入- 数据迁移- SQL 语句

更新时间:2025-05-19 14:21:39

上一篇:如何使用 SELECT INTO OUTFILE 导出数据? 使用 SELECT INTO OUTFILE 导出数据有哪些注意事项?

下一篇:如何只导出 MySQL 表结构而不导出数据? 使用 mysqldump 只导出结构有哪些技巧?