⌘+k ctrl+k
1.1.3 (stable)
Search Shortcut cmd + k | ctrl + k
EXPORT and IMPORT DATABASE Statements

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

Examples

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

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 压缩,行组大小为 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文件页面COPY 语句页面

EXPORT DATABASE

EXPORT DATABASE 命令将数据库的全部内容导出到特定目录,包括模式信息、表、视图和序列,以便再次加载。创建的目录将按以下结构组织:

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

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

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

Syntax

IMPORT DATABASE

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

Syntax