openGauss学习笔记167 openGauss 数据库运维备份与恢复导入数据使用gsql元命令导入数据

2024年 3月 16日 81.8k 0

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' ] [ quote [ as ]'character' ] [ escape [ as ] 'character' ] [ 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。

    • 数据文件中单行数据长度需>符号提示时,输入数据,输入.时结束。

      Enter data to be copied followed by a newline.
      End with a backslash and a period on a line by itself.
      >> 1
      >> 2
      >> .

      查询导入目标表a的数据。

      openGauss=# SELECT * FROM a;
      a
      ---
      1
      2
      (2 rows)

      从本地文件拷贝数据到目标表a。假设存在本地文件/home/omm/2.csv。

      • 分隔符为“,”。

      • 在导入过程中,若数据源文件比外表定义的列数多,则忽略行尾多出来的列。

      copy a FROM '/home/omm/2.csv' WITH (delimiter',',IGNORE_EXTRA_DATA 'on');

    • 👍 点赞,你的认可是我创作的动力!

      ⭐️ 收藏,你的青睐是我努力的方向!

      ✏️ 评论,你的意见是我进步的财富!

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论