DuckDB 导出/导入表的子集

DuckDB export / import for a subset of tables

提问人:misantroop 提问时间:11/1/2023 更新时间:11/2/2023 访问量:67

问:

导出和导入所有表效果很好。我只想选择要导出的表的子集。我可以执行 COPY,但不包括用于整洁导入的 load.sql 和 schema.sql 命令文件。

python sql duckdb

评论


答:

1赞 Gabor Szarnyas 11/2/2023 #1

解决方法是,可以使用中止的事务来生成脚本。例如,使用纯 SQL 指令:

CREATE TABLE x(t INT);
INSERT INTO x VALUES (42);
FROM x;

┌───────┐
│   t   │
│ int32 │
├───────┤
│    42 │
└───────┘

然后,启动事务,删除表,导出数据库,然后中止:

BEGIN;
DELETE FROM x;
EXPORT DATABASE 'my_database';
ABORT;

您的数据将保持不变,但您将拥有架构和加载脚本。