⌘+k ctrl+k
1.1.3 (stable)
Search Shortcut cmd + k | ctrl + k
Importing Data

使用数据库系统的第一步是向该系统插入数据。 DuckDB可以直接连接到许多流行的数据源,并提供几种数据摄取方法,使您能够轻松高效地填充数据库。 在本页中,我们提供了这些方法的概述,以便您可以选择最适合您使用场景的方法。

INSERT 语句

INSERT 语句是将数据加载到数据库系统中的标准方式。它们适用于快速原型设计,但应避免用于批量加载,因为它们具有显著的每行开销。

INSERT INTO people VALUES (1, 'Mark');

有关更详细的描述,请参阅关于INSERT语句的页面

CSV 加载

可以使用多种方法从CSV文件中高效加载数据。最简单的方法是使用CSV文件的名称:

SELECT * FROM 'test.csv';

或者,使用read_csv 函数来传递选项:

SELECT * FROM read_csv('test.csv', header = false);

或者使用COPY语句

COPY tbl FROM 'test.csv' (HEADER false);

也可以直接从压缩的CSV文件(例如,使用gzip压缩的文件)中读取数据:

SELECT * FROM 'test.csv.gz';

DuckDB 可以使用 CREATE TABLE ... AS SELECT 语句 从加载的数据中创建表:

CREATE TABLE test AS
    SELECT * FROM 'test.csv';

更多详情,请参阅CSV加载页面

Parquet 加载

Parquet 文件可以通过它们的文件名高效地加载和查询:

SELECT * FROM 'test.parquet';

或者,使用read_parquet 函数

SELECT * FROM read_parquet('test.parquet');

或者使用COPY语句

COPY tbl FROM 'test.parquet';

更多详情,请参阅Parquet加载页面

JSON 加载

JSON 文件可以通过其文件名高效地加载和查询:

SELECT * FROM 'test.json';

或者,使用read_json_auto 函数

SELECT * FROM read_json_auto('test.json');

Or use the COPY statement:

COPY tbl FROM 'test.json';

更多详情,请参阅JSON加载页面

Appender

在多个API(C、C++、Go、Java和Rust)中,Appender可以用作批量数据加载的替代方案。 这个类可以用于高效地向数据库系统添加行,而无需使用SQL语句。

本节中的页面