首页/数据/SQL 速查/查询结果导出:INTO OUTFILE 与 COPY
本包目录(311 条)

查询结果导出:INTO OUTFILE 与 COPY

把 SELECT 结果写到服务器文件:MySQL 用 INTO OUTFILE(受 secure_file_priv 限制),PostgreSQL 用 COPY(服务端)或 psql \copy(客户端)。

SQL 速查数据更新于 2026-10-12

MySQL

MySQL
SELECT id, name FROM users
INTO OUTFILE '/var/lib/mysql-files/users.csv'
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n';

PostgreSQL

PostgreSQL
COPY (SELECT id, name FROM users)
TO '/tmp/users.csv'
WITH (FORMAT csv, HEADER);

-- 客户端侧导出(psql 元命令)
\copy (SELECT id, name FROM users) TO 'users.csv' CSV HEADER
MySQL需要 FILE 权限;路径受 secure_file_priv 约束;文件已存在会报错
PostgreSQLCOPY TO 文件需超级用户或 pg_write_server_files;\copy 走客户端权限
格式两库都支持 CSV 与自定义分隔符

易错点

  • MySQL 报 secure_file_priv 相关错误时,先查 SHOW VARIABLES LIKE 'secure_file_priv' 看允许目录,不要随手改服务器参数
  • OUTFILE 目标文件已存在会直接报错,脚本导出前先检查并清理旧文件

数据来源与参考

  • MySQL 8.0 Reference Manual · SELECT ... INTO
  • PostgreSQL Documentation · COPY
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌