跳到主要内容

EXPORT 与 IMPORT DATABASE 语句

EXPORT DATABASE 命令允许你将数据库内容导出到指定目录。IMPORT DATABASE 命令允许你再次读取这些内容。

示例

将数据库导出到目标目录 'target_directory',并保存为 CSV 文件:

EXPORT DATABASE 'target_directory';

导出到目录 'target_directory',并使用给定的 CSV 序列化选项:

EXPORT DATABASE 'target_directory' (FORMAT csv, DELIMITER '|');

导出到目录 'target_directory',表以 Parquet 格式序列化:

EXPORT DATABASE 'target_directory' (FORMAT parquet);

导出到目录 'target_directory',表以 Parquet 格式序列化,使用 Zstd 压缩,row_group_size 为 100,000:

EXPORT DATABASE 'target_directory' (
FORMAT parquet,
COMPRESSION zstd,
ROW_GROUP_SIZE 100_000
);

重新加载数据库:

IMPORT DATABASE 'source_directory';

或者,使用 PRAGMA

PRAGMA import_database('source_directory');

关于写入 Parquet 文件的详细信息,请参阅数据导入部分中的 Parquet Files 页面以及COPY 语句页面

EXPORT DATABASE

EXPORT DATABASE 命令会将数据库的全部内容(包括 schema 信息、表、视图和序列)导出到指定目录,之后可以再次加载。生成的目录结构如下:

target_directory/schema.sql
target_directory/load.sql
target_directory/t_1.csv
...
target_directory/t_n.csv

schema.sql 文件包含数据库中的 schema 语句。它包含重建数据库所需的 CREATE SCHEMACREATE TABLECREATE VIEWCREATE SEQUENCE 命令。

load.sql 文件包含一组 COPY 语句,可用于再次从 CSV 文件中读取数据。该文件会为 schema 中的每个表包含一条 COPY 语句。

语法

IMPORT DATABASE

可以通过再次使用 IMPORT DATABASE 命令来重新加载数据库,或者手动先运行 schema.sql 再运行 load.sql 来重新加载数据。

语法