日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

PostgreSQL COPY 导入/导出数据

發布時間:2024/4/11 数据库 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PostgreSQL COPY 导入/导出数据 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

COPY 命令可以快速的導入數據到 PostgreSQL 中,文件格式類似CVS之類。適合批量導入數據,比 \i 和恢復數據表快。

導出表數據到文件或 STDOUT :

COPY tablename [(column [, ...])]TO {'filename' | STDOUT}[[WITH][BINARY][OIDS][DELIMITER [AS] 'delimiter'][NULL [AS] 'null string'][CSV [HEADER][QUOTE [AS] 'quote'][ESCAPE [AS] 'escape'][FORCE NOT NULL column [, ...]]

導入文件或者 STDIN 到表中:

COPY tablename [(column [, ...])]FROM {'filename' | STDIN}[[WITH][BINARY][OIDS][DELIMITER [AS] 'delimiter'][NULL [AS] 'null string'][CSV [HEADER][QUOTE [AS] 'quote'][ESCAPE [AS] 'escape'][FORCE QUOTE column [, ...]]

導出表 employee 到默認輸出 STDOUT:

psql> COPY employee TO STDOUT; 1 JG100011 Jason Gilmore jason@example.com 2 RT435234 Robert Treat rob@example.com 3 GS998909 Greg Sabino Mullane greg@example.com 4 MW777983 Matt Wade matt@example.com

導出表 employee 到 sql 文件:

psql> COPY employee TO '/home/smallfish/employee.sql';

從文件導入數據:

psql> COPY employeenew FROM '/home/smallfish/employee.sql'; psql> SELECT * FROM employeenew; employeeid | employeecode | name | email ------------+--------------+---------------------+---------------1 | JG100011 | Jason Gilmore | jason@example.com2 | RT435234 | Robert Treat | rob@example.com3 | GS998909 | Greg Sabino Mullane | greg@example.com4 | MW777983 | Matt Wade | matt@example.com (4 rows)

輸出對象ID(OIDS):

psql> COPY employee TO STDOUT OIDS; 24627 1 GM100011 Jason Gilmore jason@example.com 24628 2 RT435234 Robert Treat rob@example.com 24629 3 GS998909 Greg Sabino Mullane greg@example.com 24630 4 MW777983 Matt Wade matt@example.com

指定導出間隔符,默認是 \t ,這里為 | :

psql>COPY employee TO STDOUT DELIMITER '|'; 1|GM100011|Jason Gilmore|jason@example.com 2|RT435234|Robert Treat|rob@example.com 3|GS998909|Greg Sabino Mullane|greg@example.com 4|MW777983|Matt Wade|matt@example.com

導入文件數據,指定間隔符為 | :

psql> COPY employeenew FROM '/home/smallfish/employee.sql' DELIMITER |;

導出指定字段的數據:

psql> COPY employee (name,email) TO STDOUT; Jason Gilmore jason@example.com Robert Treat rob@example.com Greg Sabino Mullane greg@example.com Matt Wade matt@example.com

為 NULL 字段設置默認值:

psql> COPY employee TO STDOUT NULL 'no email'; Jason Gilmore no email Robert Treat rob@example.com Greg Sabino Mullane greg@example.com Matt Wade no email

導出為CVS格式:

psql> COPY employee (name, email) TO '/home/smallfish/employee.csv' CSV HEADER;

總結

以上是生活随笔為你收集整理的PostgreSQL COPY 导入/导出数据的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。