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 SCHEMA
、CREATE TABLE
、CREATE VIEW
和 CREATE SEQUENCE
命令。
load.sql
文件包含一组 COPY
语句,可用于再次从 CSV 文件中读取数据。该文件为模式中的每个表包含一个 COPY
语句。
Syntax
IMPORT DATABASE
可以通过再次使用IMPORT DATABASE
命令重新加载数据库,或者手动运行schema.sql
后跟load.sql
来重新加载数据。