MySQL数据加载技巧分享,掌握loaddata正确操作步骤

文章导读
LOAD DATA INFILE '数据文件路径' INTO TABLE 表名 FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 LINES;
📋 目录
  1. 步骤一:准备数据文件
  2. 步骤二:创建或确认表结构
  3. 步骤三:设置MySQL权限
  4. 步骤四:基本语法
  5. 技巧一:使用LOCAL避免权限问题
  6. 技巧二:处理特殊字符
  7. 技巧三:指定列顺序
  8. 实际案例
A A

LOAD DATA INFILE '数据文件路径' INTO TABLE 表名 FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 LINES;

步骤一:准备数据文件

数据文件必须是纯文本格式,字段之间用逗号或制表符分隔,每行一条记录。第一行如果是标题行,需要用IGNORE 1 LINES跳过。

步骤二:创建或确认表结构

确保目标表的字段类型和数据文件匹配。如果不匹配,加载会失败或数据错乱。

步骤三:设置MySQL权限

执行LOAD DATA前,需要给用户授予FILE权限:GRANT FILE ON *.* TO '用户名'@'主机' IDENTIFIED BY '密码';

MySQL数据加载技巧分享,掌握loaddata正确操作步骤

步骤四:基本语法

LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE '文件路径' [REPLACE | IGNORE] INTO TABLE 表名 [FIELDS [TERMINATED BY '字符串'] [OPTIONALLY] [ENCLOSED BY '字符'] [ESCAPED BY '字符']] [LINES TERMINATED BY '字符串'] [IGNORE 行数 LINES] [(列1,列2,...)]

技巧一:使用LOCAL避免权限问题

如果服务器不允许访问本地文件,用LOAD DATA LOCAL INFILE,从客户端加载数据。

技巧二:处理特殊字符

FIELDS TERMINATED BY ',' ENCLOSED BY '"' ESCAPED BY '\\';这样能正确处理逗号和双引号。

MySQL数据加载技巧分享,掌握loaddata正确操作步骤

技巧三:指定列顺序

如果文件列顺序和表不一致,用(col1,col2,col3)指定对应列。

实际案例

LOAD DATA LOCAL INFILE '/path/to/data.csv' INTO TABLE users FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\r\n' IGNORE 1 LINES (name,email,@dummy) SET password = PASSWORD('default');

Q: LOAD DATA失败,错误Code 1045?
A: 检查FILE权限,或用LOCAL INFILE。

MySQL数据加载技巧分享,掌握loaddata正确操作步骤

Q: 数据中有NULL怎么处理?
A: 用\N表示NULL值。

Q: 如何跳过错误行?
A: 用IGNORE关键字,继续加载其他行。

Q: CSV文件有标题行?
A: 加IGNORE 1 LINES跳过第一行。