沈阳网站前端,网站建栏目建那些,wordpress调取指定分类下的文章,网站运营需要学什么文章目录 openGauss学习笔记-167 openGauss 数据库运维-备份与恢复-导入数据-使用gsql元命令导入数据167.1 \copy命令167.2 参数说明167.3 任务示例 openGauss学习笔记-167 openGauss 数据库运维-备份与恢复-导入数据-使用gsql元命令导入数据
gsql工具提供了元命令\copy进行数… 文章目录 openGauss学习笔记-167 openGauss 数据库运维-备份与恢复-导入数据-使用gsql元命令导入数据167.1 \copy命令167.2 参数说明167.3 任务示例 openGauss学习笔记-167 openGauss 数据库运维-备份与恢复-导入数据-使用gsql元命令导入数据
gsql工具提供了元命令\copy进行数据导入。
167.1 \copy命令
\copy命令格式以及说明参见表 1 \copy元命令说明。
表 1 \copy元命令说明
语法说明\copy { table [ ( column_list ) ] |( query ) } { from | to } { filename |stdin | stdout | pstdin | pstdout }[ with ] [ binary ] [ delimiter[ as ] ‘character’ ] [ null [ as ] ‘string’ ][ csv [ header ] [ quote [ as ]‘character’ ] [ escape [ as ] ‘character’ ][ force quote column_list | * ] [ forcenot null column_list ] ]在任何gsql客户端登录数据库成功后可以使用该命令进行数据的导入/导出。但是与SQL的COPY命令不同该命令读取/写入的文件是本地文件而非数据库服务器端文件所以要操作的文件的可访问性、权限等都是受限于本地用户的权限。说明\COPY只适合小批量、格式良好的数据导入不会对非法字符做预处理也无容错能力无法适用于含有异常数据的场景。导入数据应优先选择COPY。
167.2 参数说明 table 表的名称可以有模式修饰。 取值范围已存在的表名。 column_list 可选的待拷贝字段列表。 取值范围任意字段。如果没有声明字段列表将使用所有字段。 query 其结果将被拷贝。 取值范围一个必须用圆括弧包围的SELECT或VALUES命令。 filename 文件的绝对路径。执行copy命令的用户必须有此路径的写权限。 stdin 声明输入是来自标准输入。 stdout 声明输出打印到标准输出。 pstdin 声明输入是来自gsql的标准输入。 pstout 声明输出打印到gsql的标准输出。 binary 使用二进制格式存储和读取而不是以文本的方式。在二进制模式下不能声明DELIMITER、NULL、CSV选项。指定binary类型后不能再通过option或copy_option指定CSV、FIXED、TEXT等类型。 delimiter [ as ] ‘character’ 指定数据文件行数据的字段分隔符。 说明 分隔符不能是\r和\n。分隔符不能和null参数相同CSV格式数据的分隔符不能和quote参数相同。TEXT格式数据的分隔符不能包含 .abcdefghijklmnopqrstuvwxyz0123456789。数据文件中单行数据长度需1GB如果分隔符较长且数据列较多的情况下会影响导出有效数据的长度。分隔符推荐使用多字符和不可见字符。多字符例如’$^不可见字符例如0x07、0x08、0x1b等。 取值范围支持多字符分隔符但分隔符不能超过10个字节。 默认值 TEXT格式的默认分隔符是水平制表符tab。CSV格式的默认分隔符为“,”。FIXED格式没有分隔符。 null [ as ] ‘string’ 用来指定数据文件中空值的表示。 取值范围 null值不能是\r和\n最大为100个字符。null值不能和分隔符、quote参数相同。 默认值 CSV格式下默认值是一个没有引号的空字符串。在TEXT格式下默认值是\N。 header 指定导出数据文件是否包含标题行标题行一般用来描述表中每个字段的信息。header只能用于CSVFIXED格式的文件中。 在导入数据时如果header选项为on则数据文本第一行会被识别为标题行会忽略此行。如果header为off而数据文件中第一行会被识别为数据。 在导出数据时如果header选项为on则需要指定fileheader。fileheader是指定导出数据包含标题行的定义文件。如果header为off则导出数据文件不包含标题行。 取值范围true/onfalse/off。 默认值false quote [ as ] ‘character’ CSV格式文件下的引号字符。 默认值“”。 说明 quote参数不能和分隔符、null参数相同。quote参数只能是单字节的字符。推荐不可见字符作为quote例如0x07、0x08、0x1b等。 escape [ as ] ‘character’ CSV格式下用来指定逃逸字符逃逸字符只能指定为单字节字符。 默认值双引号。当与quote值相同时会被替换为’\0’。 force quote column_list | * 在CSV COPY TO模式下强制在每个声明的字段周围对所有非NULL值都使用引号包围。NULL输出不会被引号包围。 取值范围已存在的字段。 force not null column_list 在CSV COPY FROM模式下指定的字段输入不能为空。 取值范围已存在的字段。 force null column_list 在CSV COPY FROM模式下指定的字段输入表示空值的字符串设为空。 取值范围已存在的字段。
167.3 任务示例 创建目标表a。 CREATE TABLE a(a int);导入数据。 从stdin拷贝数据到目标表a。 \copy a from stdin;出现符号提示时输入数据输入.时结束。 Enter data to be copied followed by a newline.
End with a backslash and a period on a line by itself.12\.查询导入目标表a的数据。 openGauss# SELECT * FROM a;a
---12
(2 rows)从本地文件拷贝数据到目标表a。假设存在本地文件/home/omm/2.csv。 分隔符为“”。在导入过程中若数据源文件比外表定义的列数多则忽略行尾多出来的列。 \copy a FROM /home/omm/2.csv WITH (delimiter,,IGNORE_EXTRA_DATA on);点赞你的认可是我创作的动力 ⭐️ 收藏你的青睐是我努力的方向 ✏️ 评论你的意见是我进步的财富