使用LOAD DATA INFILE可导入TXT数据,需确保文件格式与表结构匹配,字段分隔符如t、,正确设置,路径为服务器可访问绝对路径,通过FIELDS TERMINATED BY和LINES TERMINATED BY定义分隔方式,必要时用IGNORE 1 ROWS跳过标题行,字符串可用ENCLOSED BY ‘"’处理,同时确认secure_file_priv权限允许文件读取。

mysql导入TXT数据可以通过LOAD DATA INFILE命令实现,前提是TXT文件格式规范且服务器有读取权限。以下是具体操作方法和注意事项。
确保TXT文件格式正确
导入前需确认文本文件的字段分隔符、换行符与mysql表结构匹配。常见格式如下:
- 字段之间通常用逗号
,、制表符t或竖线|分隔 - 每行代表一条记录,以换行结束
- 若包含字符串,可能需要用引号包裹
例如,一个以制表符分隔的用户数据文件内容可能是:
1 张三 25
2 李四 30
使用LOAD DATA INFILE导入
假设有一个表users(id, name, age),要导入上述TXT文件,执行以下sql语句:
LOAD DATA INFILE ‘/path/to/data.txt’
INTO table users
FIELDS TERMINATED BY ‘t’
LINES TERMINATED BY ‘n’
(id, name, age);
说明:
-
/path/to/data.txt是服务器端文件路径,必须是MySQL进程可访问的绝对路径 -
FIELDS TERMINATED BY指定字段分隔符,如为逗号则写',' -
LINES TERMINATED BY指定行结束符,windows生成的文件可能是'rn' - 括号内列出对应字段名,顺序要与文件列一致
处理常见问题
实际操作中可能会遇到以下情况:
- 如果提示“File not found”,检查MySQL是否允许读取该路径,可通过
SHOW VARIABLES LIKE 'secure_file_priv';查看允许的目录 - 若文件中有标题行,添加
IGNORE 1 ROWS;跳过首行 - 字符串包含特殊字符时,使用
ENCLOSED BY '"'声明包围符 - 本地客户端可使用
LOAD DATA LOCAL INFILE,但需服务端开启local_infile支持
基本上就这些。只要文件格式对、路径可访问、语句写准,导入TXT数据并不复杂,关键是注意分隔符和权限设置。


