返回顶部
首页 > 资讯 > 数据库 >怎么使用PostgreSQL中的COPY命令
  • 626
分享到

怎么使用PostgreSQL中的COPY命令

2024-04-02 19:04:59 626人浏览 八月长安
摘要

这篇文章主要讲解了“怎么使用postgresql中的COPY命令”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用Postgresql中的COPY命令”

这篇文章主要讲解了“怎么使用postgresql中的COPY命令”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用Postgresql中的COPY命令”吧!

Copy命令在PG 12有所增强,在COPY FROM时可添加WHERE条件过滤.

PG 11
Copy命令

testdb=# \help copy
Command:     COPY
Description: copy data between a file and a table
Syntax:
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 TABLE
testdb=# CREATE TABLE t_copy(id int,c1 varchar(20));
CREATE TABLE
testdb=# insert into t_copy SELECT x,'c1-'||x FROM generate_series(1, 1000) AS x;
INSERT 0 1000
testdb=# 
testdb=# COPY t_copy TO '/tmp/data/t_copy.txt' with DELIMITER '|';
COPY 1000
testdb=# drop table if exists t_import;
DROP TABLE
testdb=# CREATE TABLE t_import(id int,c1 varchar(20));
CREATE TABLE
testdb=# COPY t_import FROM '/tmp/data/t_copy.txt'  with DELIMITER '|';
COPY 1000
testdb=# 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 copy
Command:     COPY
Description: copy data between a file and a table
Syntax:
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 TABLE
Time: 50.327 ms
[local]:5432 pg12@testdb=# CREATE TABLE t_copy(id int,c1 varchar(20));
CREATE TABLE
Time: 5.038 ms
[local]:5432 pg12@testdb=# insert into t_copy SELECT x,'c1-'||x FROM generate_series(1, 1000) AS x;
INSERT 0 1000
Time: 16.422 ms
[local]:5432 pg12@testdb=# 
[local]:5432 pg12@testdb=# COPY t_copy TO '/tmp/data/t_copy.txt' with DELIMITER '|';
COPY 1000
Time: 4.795 ms
[local]:5432 pg12@testdb=# drop table if exists t_import;
DROP TABLE
Time: 4.798 ms
[local]:5432 pg12@testdb=# CREATE TABLE t_import(id int,c1 varchar(20));
CREATE TABLE
Time: 2.462 ms
[local]:5432 pg12@testdb=# COPY t_import FROM '/tmp/data/t_copy.txt'  with DELIMITER '|' WHERE id < 5;
COPY 4
Time: 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命令这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

您可能感兴趣的文档:

--结束END--

本文标题: 怎么使用PostgreSQL中的COPY命令

本文链接: https://lsjlt.com/news/63655.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 怎么使用PostgreSQL中的COPY命令
    这篇文章主要讲解了“怎么使用PostgreSQL中的COPY命令”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么使用PostgreSQL中的COPY命令”...
    99+
    2024-04-02
  • Dockerfile中的COPY与ADD命令怎么用
    这篇文章主要介绍了Dockerfile中的COPY与ADD命令怎么用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Dockerfile中的COPY与ADD命令怎么用文章都会有所...
    99+
    2024-04-02
  • python如何使用Copy命令
    这篇文章主要为大家展示了“python如何使用Copy命令”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“python如何使用Copy命令”这篇文章吧。Copy这...
    99+
    2024-04-02
  • Linux中如何使用ssh-copy-id命令
    小编给大家分享一下Linux中如何使用ssh-copy-id命令,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Linux常用命令ssh-copy-id命令可以把本...
    99+
    2023-06-28
  • dos中文件复制copy命令怎么用
    这篇文章主要为大家展示了“dos中文件复制copy命令怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“dos中文件复制copy命令怎么用”这篇文章吧。假设,你需要把d:\test\test....
    99+
    2023-06-09
  • 批处理copy命令的具体使用
    目录示例单个文件的复制批量复制文件合并文件没有后缀的文件怎么复制?本文的命令说明来自与DOS命令帮助说明,如果与DOS命令帮助说明不同,请以DOS命令帮助说明为准。 语法 copy[...
    99+
    2024-04-02
  • Linux中ssh-copy-id命令有什么用
    这篇文章主要介绍了Linux中ssh-copy-id命令有什么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Linux常用命令ssh-copy-id命令 可以把本地主机的公...
    99+
    2023-06-28
  • cmd copy命令的说明及使用方法
    本篇内容介绍了“cmd copy命令的说明及使用方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!copy,中文含义为“复制”,一个很容易见...
    99+
    2023-06-08
  • PostgreSQL命令如何使用
    这篇文章给大家介绍PostgreSQL命令如何使用,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。创建一个简单的购物清单首先,输入 psql 命令进入数据库,然后用下面的命令创建一个表:...
    99+
    2024-04-02
  • systemd中的命令怎么使用
    这篇文章主要介绍“systemd中的命令怎么使用”,在日常操作中,相信很多人在systemd中的命令怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”systemd中的命令怎么使用”的疑惑有所帮助!接下来...
    99+
    2023-06-04
  • git中的命令怎么使用
    这篇文章主要讲解了“git中的命令怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“git中的命令怎么使用”吧!git 的安装本文使用的是win7平台。 Git可以在Linux、Unix...
    99+
    2023-06-03
  • Linux的blkid命令命令怎么使用
    这篇文章主要介绍“Linux的blkid命令命令怎么使用”,在日常操作中,相信很多人在Linux的blkid命令命令怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux的blkid命令命令怎么使用...
    99+
    2023-06-28
  • 怎么在dos命令行中使用choice命令
    这期内容当中小编将会给大家带来有关怎么在dos命令行中使用choice命令,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Choice 命令使用此命令可以让用户输入一个字符,从而运行不同的命令。使用时应该加...
    99+
    2023-06-08
  • zip命令怎么在dos命令行中使用
    本篇文章为大家展示了zip命令怎么在dos命令行中使用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。常用方式:-o (set Output directory) switchSpecifies a ...
    99+
    2023-06-08
  • 怎么使用PG中的pg_dump命令
    这篇文章主要介绍“怎么使用PG中的pg_dump命令”,在日常操作中,相信很多人在怎么使用PG中的pg_dump命令问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么使用PG...
    99+
    2024-04-02
  • Redis中的list命令怎么使用
    这篇文章主要介绍“Redis中的list命令怎么使用”,在日常操作中,相信很多人在Redis中的list命令怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Redis中...
    99+
    2024-04-02
  • shell中的test命令怎么使用
    在shell中,test命令用于测试文件或表达式是否为真。它的一般语法如下:```test expression```或者可以使用方...
    99+
    2023-09-28
    shell
  • Linux中的uniq命令怎么使用
    这篇文章主要介绍了Linux中的uniq命令怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Linux中的uniq命令怎么使用文章都会有所收获,下面我们一起来看看吧。在Linux系统中 uniq 命令主要...
    99+
    2023-06-28
  • Linux中的man命令怎么使用
    这篇文章主要为大家展示了“Linux中的man命令怎么使用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux中的man命令怎么使用”这篇文章吧。Linux常用命令man命令 是Linux下...
    99+
    2023-06-28
  • Linux中的figlet命令怎么使用
    这篇文章主要介绍了Linux中的figlet命令怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Linux中的figlet命令怎么使用文章都会有所收获,下面我们一起来看看吧。欢迎再次来到为期 24 天的 ...
    99+
    2023-06-27
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作