MySQL
MySQL
LOAD DATA LOCAL INFILE '/tmp/users.csv'
INTO TABLE users
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES
(id, name, email);PostgreSQL
PostgreSQL
COPY users (id, name, email)
FROM '/tmp/users.csv'
WITH (FORMAT csv, HEADER true, ENCODING 'UTF8');
-- 客户端侧(psql,文件在本地机器)
\copy users (id, name, email) FROM '/tmp/users.csv' WITH (FORMAT csv, HEADER true);| MySQL | LOAD DATA 走服务端路径受 secure_file_priv 限制;LOCAL 版本文件在客户端 |
|---|---|
| PostgreSQL | COPY 需要超级用户或 pg_read_server_files 角色;\copy 用客户端权限 |
| 性能 | 两者都比逐行 INSERT 快很多,导入前建议关掉非必要索引再重建 |