跳到主要内容

部署教程

CloudBeaver 查询与 CSV 导入导出:范围、字段和暂存表

发布于

在 CloudBeaver 查询 PostgreSQL、导出 CSV,再通过暂存表处理导入数据。

从查询结果到 CSV 文件

本篇承接 CloudBeaver 部署教程,使用 PostgreSQL 演示查询、导出与导入。appdb、public.orders 和下面字段均为演示名称,先在独立演示库准备对应表。

前往雨云选购 ↗

注册推荐码:KuZhuJi

确认连接,再限定结果范围

连接成功后先检查库名、数据库身份与会话时区:

sql;使用前请核对本文前提。 如内容超出,可左右滑动,键盘使用方向键或 Home/End 查看。
仅复制文本,不会执行。
SELECT current_database() AS database_name,
       current_user AS database_user,
       current_setting('TimeZone') AS session_timezone;

假设 public.orders 有 id、status、amount、created_at,查询示例九月的记录:

sql;使用前请核对本文前提。 如内容超出,可左右滑动,键盘使用方向键或 Home/End 查看。
仅复制文本,不会执行。
SELECT id, status, amount, created_at
FROM public.orders
WHERE created_at >= TIMESTAMPTZ '2026-09-01 00:00:00+00'
  AND created_at <  TIMESTAMPTZ '2026-10-01 00:00:00+00'
ORDER BY created_at DESC, id DESC
LIMIT 100;

时间范围采用包含开始、不包含结束的区间;排序加入 id。LIMIT 限制返回行数,但筛选和排序仍可能扫描较多数据。需要统计时直接聚合:

sql;使用前请核对本文前提。 如内容超出,可左右滑动,键盘使用方向键或 Home/End 查看。
仅复制文本,不会执行。
SELECT status, COUNT(*) AS order_count, SUM(amount) AS total_amount
FROM public.orders
WHERE created_at >= TIMESTAMPTZ '2026-09-01 00:00:00+00'
  AND created_at <  TIMESTAMPTZ '2026-10-01 00:00:00+00'
GROUP BY status
ORDER BY order_count DESC, status;

导出时设置编码与字段

从查询结果或整表进入 Export,选择 CSV,核对编码、分隔符、列名表头、引号及 NULL 表示。两种导出入口的数据范围可能不同,按实际查询条件检查行数。

订单号和带前导零的编号按文本处理。中文、逗号、换行、引号、NULL 与空字符串各抽查一条,随文件记录查询条件、时区、币种和金额单位。

先将 CSV 导入暂存表

在独立演示库创建暂存表,将外部字段先按文本接收:

sql;使用前请核对本文前提。 如内容超出,可左右滑动,键盘使用方向键或 Home/End 查看。
仅复制文本,不会执行。
CREATE TABLE public.orders_import_stage (
  source_id text,
  status text,
  amount_text text,
  created_at_text text
);

Data Editor 选择目标表,再进入 Import 上传 CSV,确认字段映射和分隔符。先用少量样例检查错列;官方文档把 XML、XLSX 导入列为 PRO 能力,本篇使用 CSV。

sql;使用前请核对本文前提。 如内容超出,可左右滑动,键盘使用方向键或 Home/End 查看。
仅复制文本,不会执行。
SELECT COUNT(*) AS imported_rows FROM public.orders_import_stage;
SELECT source_id, COUNT(*) AS copies
FROM public.orders_import_stage
GROUP BY source_id
HAVING COUNT(*) > 1;
SELECT * FROM public.orders_import_stage
WHERE source_id IS NULL OR btrim(source_id) = ''
LIMIT 20;

核对行数、重复 source_id、空编号,再检查金额与日期能否转换。正式入库前决定主键冲突是拒绝、跳过还是更新。失败重试前检查已经写入的范围。

事务与备份分别处理

自动提交模式下,提交给数据库的写入可能立即生效;手动提交可在同一事务内决定 Commit 或 Rollback。关闭标签页不会撤回已提交的修改。

导出 INSERT 语句用于交换有限数据,完整数据库备份使用 pg_dump 等数据库工具,保留角色、权限和恢复步骤。CloudBeaver 工作区备份保存的是管理器配置,业务数据库另行备份。