Skip to Content
DuckDB: Up and Running
book

DuckDB: Up and Running

by Wei-Meng Lee
December 2024
Intermediate to advanced
308 pages
6h 43m
English
O'Reilly Media, Inc.
Content preview from DuckDB: Up and Running

Chapter 2. Importing Data into DuckDB

In Chapter 1, you saw how you can create a simple DuckDB database and load tables into it. In the real world, your data often comes from different data sources and file formats—such as CSV, Excel, Parquet, or database servers. In this chapter, you’ll first learn the different ways to create your DuckDB databases, and then learn how to load them using various data sources. By the end of this chapter, you’ll have a clear idea of how to work with each data source, as well as tips and tricks for dealing with them.

Creating DuckDB Databases

In this section, we will dive into the different ways you can create DuckDB databases and provide suggestions on which methods may suit your purposes.

The simplest way to create a DuckDB database is to use the connect() function in the duckdb module:

import duckdb

conn = duckdb.connect()

The connect() function returns a DuckDBPyConnection object. By default, this statement opens a modifiable in-memory database, as seen here:

conn = duckdb.connect(':memory:')

If you wish to create a DuckDB database that is persisted on storage, set the database argument to the name of a database, for example, mydb.duckdb (you can use any extension you wish for the filename):

conn = duckdb.connect(database = 'mydb.duckdb', read_only = False)
Note

The first time you run this statement, the mydb.duckdb database file will be created in the same folder as your code (such as Jupyter Notebook). You can set the read_only argument to ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

DuckDB in Action

DuckDB in Action

Mark Needham, Michael Hunger, Michael Simons
FastAPI

FastAPI

Bill Lubanovic
Kubernetes: Up and Running, 3rd Edition

Kubernetes: Up and Running, 3rd Edition

Brendan Burns, Joe Beda, Kelsey Hightower, Lachlan Evenson
Docker: Up & Running, 3rd Edition

Docker: Up & Running, 3rd Edition

Sean P. Kane, Karl Matthias

Publisher Resources

ISBN: 9781098159689Errata Page