如何将表格数据导出到文件
Posted
技术标签:
【中文标题】如何将表格数据导出到文件【英文标题】:How to export table data to file 【发布时间】:2011-06-15 01:06:17 【问题描述】:我想将单个 Postgres 表的数据导出到 .csv 文件中。谁能给我一个例子来说明如何做到这一点?
【问题讨论】:
可能重复***.com/questions/1120109/… Export Postgres table to CSV file with headings的可能重复 【参考方案1】:在 psql 中:
\copy tablename to 'filename' csv;
【讨论】:
只是为了完整性 - 有人会如何在另一端导入这个? ***.com/questions/2987433/… 这个文件存储在哪里?,因为我想将它导出到我的本地主机服务器中。【参考方案2】:首先,通过命令行使用psql
命令登录PostgreSQL 控制台。
要导出:
\connect database_name;
\copy my_table TO 'my_table.csv' CSV;
\q
要导入:
\connect database_name;
\copy my_table FROM 'my_table.csv' DELIMITER ',' CSV;
\q
完成!
或者,从 shell 脚本!
export PGPASSWORD=dbpass
psql --dbname=mydb --username=dbuser --host=127.0.0.1 -c "COPY (SELECT * FROM widget) TO stdout DELIMITER ',' CSV HEADER" > export.csv
奖励建议 使用pgcli,比psql好很多
【讨论】:
加 1 用于指向 pgcli,这是一个很酷且有用的命令行客户端 shell 脚本是一个救星。【参考方案3】:登录到 psql 时:
COPY tablename TO 'filename';
更多详情请看:http://www.postgresql.org/docs/current/static/sql-copy.html
【讨论】:
这会将数据复制到服务器可访问的文件中。这可能是也可能不是目标。对于客户端副本(在psql
内),请使用\copy
。
你必须是超级用户才能使用COPY
,但不能使用\copy
以上是关于如何将表格数据导出到文件的主要内容,如果未能解决你的问题,请参考以下文章
PHP如何将查询出来的数据导出成excel表格(最好做一个按钮)?