postgresql copy语句
总述copy命令用于在postgreSql表和标准文件系统直接传输数据。copy命令让PostgreSQL 服务器直接读写文件,因此文件必须位于服务器本地或能被直接访问。该命令仅能在表上使用,不能用于视图;示例拷贝表至文件1、使用空格作为字段直接的分隔COPY test_table TO 'save_file_folder/test_data.copy' WITH DELIMITER ' ';2、
总述
- copy命令用于在postgreSql表和标准文件系统直接传输数据。
- copy命令让PostgreSQL 服务器直接读写文件,因此文件必须位于服务器本地或能被直接访问。
- 该命令仅能在表上使用,不能用于视图;
示例
拷贝表至文件
1、使用空格作为字段直接的分隔
COPY test_table TO 'save_file_folder/test_data.copy' WITH DELIMITER ' ';
2、二进制文件
COPY test_table TO 'save_file_folder/test_data.dat' WITH binary;
3、导出csv文件
COPY test_table TO 'save_file_folder/test_data.csv' WITH DELIMITER ',' CSV HEADER ENCODING 'utf-8';
4、导出查询结果到文件,支持版本10及10以上
COPY (SELECT id, name, age FROM test_table) TO 'save_file_folder/test_data.csv' WITH DELIMITER ',' CSV HEADER ENCODING 'utf-8';
拷贝表至控制台
使用竖线(|)作为字段直接的分隔符
COPY test_table TO stdout(delimiter '|')
导入文件至Postgresql表
COPY test_table FROM 'save_file_folder/test_data.csv' WITH DELIMITER ',' CSV HEADER ENCODING 'utf-8';
语法格式
1、copy文件到数据库的表中
COPY table_name [ ( column_name [, ...] ) ]
FROM { 'filename' | PROGRAM 'command' | STDIN }
[ [ WITH ] ( option [, ...] ) ]
[ WHERE condition ]2、copy数据库的数据到文件中
COPY { table_name [ ( column_name [, ...] ) ] | ( query ) }
TO { 'filename' | PROGRAM 'command' | STDOUT }
[ [ WITH ] ( option [, ...] ) ]3、option参数列表
FORMAT format_name
选择要读取或写入的数据格式:文本、csv(逗号分隔值)或二进制格式。默认为文本。
FREEZE [ boolean ]冻结数据
DELIMITER 'delimiter_character'列的分割字符
NULL 'null_string'指定表示空值的字符串。默认为文本格式的\N(反斜杠-N),CSV格式为未加引号的空字符串。
HEADER [ boolean ]列的名称的标题行
QUOTE 'quote_character'指定在引用数据值时要使用的引用字符。默认值为双引号。这必须是一个单字节的字符。只有使用CSV格式时才允许此选项。
ESCAPE 'escape_character'只有使用CSV格式时才允许此选项。
FORCE_QUOTE { ( column_name [, ...] ) | * }对每个指定列中的所有非NULL值使用。从不引用NULL输出。如果指定了*,则在所有列中都将引用非NULL值。此选项仅在COPY TO中被允许,并且仅在使用CSV格式时被允许。
FORCE_NOT_NULL ( column_name [, ...] )请将指定列的值与空字符串不匹配。在空字符串为空的默认情况下,这意味着空值将被读取为零长度的字符串,而不是空值,即使它们没有被引号。此选项仅在COPY FROM中被允许,并且仅在使用CSV格式时被允许。
FORCE_NULL ( column_name [, ...] )将指定的列的值与空字符串匹配,即使已引用引号,如果找到匹配项,将该值设置为NULL。在空的默认情况下,将将引号的空字符串转换为NULL。此选项仅在COPY FROM中被允许,并且仅在使用CSV格式时被允许。
ENCODING 'encoding_name'编码格式
更多推荐
所有评论(0)