怎么使用PostgreSQL中的COPY命令
发表于:2025-02-23 作者:千家信息网编辑
千家信息网最后更新 2025年02月23日,这篇文章主要讲解了"怎么使用PostgreSQL中的COPY命令",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"怎么使用PostgreSQL中的COPY
千家信息网最后更新 2025年02月23日怎么使用PostgreSQL中的COPY命令
这篇文章主要讲解了"怎么使用PostgreSQL中的COPY命令",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"怎么使用PostgreSQL中的COPY命令"吧!
Copy命令在PG 12有所增强,在COPY FROM时可添加WHERE条件过滤.
PG 11
Copy命令
testdb=# \help copyCommand: COPYDescription: copy data between a file and a tableSyntax:COPY table_name [ ( column_name [, ...] ) ] FROM { 'filename' | PROGRAM 'command' | STDIN } [ [ WITH ] ( option [, ...] ) ]COPY { table_name [ ( column_name [, ...] ) ] | ( query ) } TO { 'filename' | PROGRAM 'command' | STDOUT } [ [ WITH ] ( option [, ...] ) ]where option can be one of: FORMAT format_name OIDS [ boolean ] FREEZE [ boolean ] DELIMITER 'delimiter_character' NULL 'null_string' HEADER [ boolean ] QUOTE 'quote_character' ESCAPE 'escape_character' FORCE_QUOTE { ( column_name [, ...] ) | * } FORCE_NOT_NULL ( column_name [, ...] ) FORCE_NULL ( column_name [, ...] ) ENCODING 'encoding_name'
简单使用
testdb=# drop table if exists t_copy;DROP TABLEtestdb=# CREATE TABLE t_copy(id int,c1 varchar(20));CREATE TABLEtestdb=# insert into t_copy SELECT x,'c1-'||x FROM generate_series(1, 1000) AS x;INSERT 0 1000testdb=# testdb=# COPY t_copy TO '/tmp/data/t_copy.txt' with DELIMITER '|';COPY 1000testdb=# drop table if exists t_import;DROP TABLEtestdb=# CREATE TABLE t_import(id int,c1 varchar(20));CREATE TABLEtestdb=# COPY t_import FROM '/tmp/data/t_copy.txt' with DELIMITER '|';COPY 1000testdb=# select * from t_import limit 10; id | c1 ----+------- 1 | c1-1 2 | c1-2 3 | c1-3 4 | c1-4 5 | c1-5 6 | c1-6 7 | c1-7 8 | c1-8 9 | c1-9 10 | c1-10(10 rows)
不支持WHERE条件过滤
testdb=# COPY t_import FROM '/tmp/data/t_copy.txt' with DELIMITER '|' where id < 5;ERROR: syntax error at or near "where"LINE 1: ...t FROM '/tmp/data/t_copy.txt' with DELIMITER '|' where id <...
PG 12
COPY命令语法
[local]:5432 pg12@testdb=# \help copyCommand: COPYDescription: copy data between a file and a tableSyntax:COPY table_name [ ( column_name [, ...] ) ] FROM { 'filename' | PROGRAM 'command' | STDIN } [ [ WITH ] ( option [, ...] ) ] [ WHERE condition ]COPY { table_name [ ( column_name [, ...] ) ] | ( query ) } TO { 'filename' | PROGRAM 'command' | STDOUT } [ [ WITH ] ( option [, ...] ) ]where option can be one of: FORMAT format_name FREEZE [ boolean ] DELIMITER 'delimiter_character' NULL 'null_string' HEADER [ boolean ] QUOTE 'quote_character' ESCAPE 'escape_character' FORCE_QUOTE { ( column_name [, ...] ) | * } FORCE_NOT_NULL ( column_name [, ...] ) FORCE_NULL ( column_name [, ...] ) ENCODING 'encoding_name'URL: https://www.postgresql.org/docs/12/sql-copy.html
支持WHERE条件过滤
[local]:5432 pg12@testdb=# drop table if exists t_copy;DROP TABLETime: 50.327 ms[local]:5432 pg12@testdb=# CREATE TABLE t_copy(id int,c1 varchar(20));CREATE TABLETime: 5.038 ms[local]:5432 pg12@testdb=# insert into t_copy SELECT x,'c1-'||x FROM generate_series(1, 1000) AS x;INSERT 0 1000Time: 16.422 ms[local]:5432 pg12@testdb=# [local]:5432 pg12@testdb=# COPY t_copy TO '/tmp/data/t_copy.txt' with DELIMITER '|';COPY 1000Time: 4.795 ms[local]:5432 pg12@testdb=# drop table if exists t_import;DROP TABLETime: 4.798 ms[local]:5432 pg12@testdb=# CREATE TABLE t_import(id int,c1 varchar(20));CREATE TABLETime: 2.462 ms[local]:5432 pg12@testdb=# COPY t_import FROM '/tmp/data/t_copy.txt' with DELIMITER '|' WHERE id < 5;COPY 4Time: 4.842 ms[local]:5432 pg12@testdb=# select * from t_import; id | c1 ----+------ 1 | c1-1 2 | c1-2 3 | c1-3 4 | c1-4(4 rows)Time: 6.103 ms
感谢各位的阅读,以上就是"怎么使用PostgreSQL中的COPY命令"的内容了,经过本文的学习后,相信大家对怎么使用PostgreSQL中的COPY命令这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
命令
条件
学习
内容
支持
就是
思路
情况
文章
更多
知识
知识点
篇文章
语法
跟着
问题
实践
推送
研究
验证
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
梦幻手游服务器转服刷新
北京财务软件开发公司电话
服务器级别的电脑
网络安全三观三监测
软件开发5个原理
清除单元格定义的数据库
网络安全 守则 顺口溜
怎样租国外服务器
网警开展网络安全检查专项行动
网络安全现状分析图素材
邯郸人工智能软件开发定制
无锡金风科技软件开发
软件开发大会利好股票
大逃杀服务器爆炸
url访问服务器
秦皇岛中高服务器多少钱
守护网络安全文案
山东定制化上位机软件开发
硬件软件开发工作室装修
荣县网络安全宣传
重庆软件开发招聘网
软件开发结算合同模板
不可以打开多个数据库吗
软件开发税务筹划如何做
黑客应聘网络安全员
word数据库处理
数据库检查约束用代码怎么做
智慧城市 网络安全设计
江西网络安全技能大赛
湖北移动网络安全管控平台