Skip to content

duckdb/duckdb

Folders and files

NameName
Last commit message
Last commit date
Mar 13, 2025
Feb 21, 2025
Mar 11, 2025
May 27, 2024
Mar 13, 2025
Mar 26, 2024
Mar 7, 2025
Mar 13, 2025
Mar 12, 2025
Mar 13, 2025
Mar 12, 2025
Dec 4, 2024
Jul 29, 2024
Dec 20, 2022
Aug 21, 2023
Sep 5, 2023
Mar 6, 2025
Jan 14, 2025
Jan 27, 2025
Sep 3, 2024
Jul 28, 2021
Mar 6, 2025
Jul 13, 2023
Aug 6, 2024
Aug 3, 2018
Feb 12, 2025
Nov 7, 2019
Jan 4, 2025
Feb 23, 2025
Jan 2, 2025

Repository files navigation

DuckDB logo

Github Actions Badge discord Latest Release

DuckDB

DuckDB is a high-performance analytical database system. It is designed to be fast, reliable, portable, and easy to use. DuckDB provides a rich SQL dialect, with support far beyond basic SQL. DuckDB supports arbitrary and nested correlated subqueries, window functions, collations, complex types (arrays, structs, maps), and several extensions designed to make SQL easier to use.

DuckDB is available as a standalone CLI application and has clients for Python, R, Java, Wasm, etc., with deep integrations with packages such as pandas and dplyr.

For more information on using DuckDB, please refer to the DuckDB documentation.

Installation

If you want to install DuckDB, please see our installation page for instructions.

Data Import

For CSV files and Parquet files, data import is as simple as referencing the file in the FROM clause:

SELECT * FROM 'myfile.csv';
SELECT * FROM 'myfile.parquet';

Refer to our Data Import section for more information.

SQL Reference

The documentation contains a SQL introduction and reference.

Development

For development, DuckDB requires CMake, Python3 and a C++11 compliant compiler. Run make in the root directory to compile the sources. For development, use make debug to build a non-optimized debug version. You should run make unit and make allunit to verify that your version works properly after making changes. To test performance, you can run BUILD_BENCHMARK=1 BUILD_TPCH=1 make and then perform several standard benchmarks from the root directory by executing ./build/release/benchmark/benchmark_runner. The details of benchmarks are in our Benchmark Guide.

Please also refer to our Build Guide and Contribution Guide.

Support

See the Support Options page.