import duckdb duckdb.sql("SELECT 'duck' AS animal, 'quack!' AS greeting")
┌─────────┬──────────┐ │ animal │ greeting │ │ varchar │ varchar │ ├─────────┼──────────┤ │ duck │ quack! │ └─────────┴──────────┘
conn = duckdb.connect() conn.sql( """ CREATE TABLE hello AS SELECT 'pato' AS animal, 'cuac!' AS greeting """ ) conn.sql("SELECT * FROM hello")
┌─────────┬──────────┐ │ animal │ greeting │ │ varchar │ varchar │ ├─────────┼──────────┤ │ pato │ cuac! │ └─────────┴──────────┘
another_conn = duckdb.connect(database=":memory:")
default_conn = duckdb.connect(database=":default:")
custom_conn = duckdb.connect( config={ "memory_limit": "10GB", "threads": 4 } )
conn = duckdb.connect(database="quack.duckdb") conn.sql( """ CREATE OR REPLACE TABLE hello AS SELECT 'ente' AS animal, 'quak!' AS greeting """ ) conn.close()
sql = "INSERT INTO hello VALUES ('Fulvigula', 'quack!')" conn = duckdb.connect(database="quack.duckdb") conn.sql(sql) conn.close()
sql = "INSERT INTO hello VALUES ('Labradorius', 'quack!')" with duckdb.connect(database="quack.duckdb") as conn: conn.sql(sql)
conn = duckdb.connect(database="quack.duckdb", read_only=True) # query the database here... conn.close()
duckdb.install_extension("spatial") duckdb.load_extension("spatial")
duckdb.sql( """ SELECT * FROM duckdb_extensions() WHERE loaded = true """ )
Let’s run the same query again on a new in-memory database to confirm that the spatial extension was only installed and loaded for the default database:
conn = duckdb.connect() conn.sql( """ SELECT * FROM duckdb_extensions() WHERE loaded = true """ )
This query shows that the new in-memory database does not have the spatial extension installed or loaded.
To install and load this extension in our new database, we would need to run the following:
conn.install_extension("spatial") conn.load_extension("spatial")