如何用DBeaver连接Python创建的DuckDB文件并执行查询?
如何用DBeaver连接DuckDB文件并执行查询?
问题背景
我通过以下Python代码创建了DuckDB数据库文件:
import duckdb con = duckdb.connect(database=':memory:') con = duckdb.connect(database='db.duckdb', read_only=False) con.execute("CREATE TABLE items(item VARCHAR, value DECIMAL(10,2), count INTEGER)") con.execute("INSERT INTO items VALUES ('jeans', 20.0, 1), ('hammer', 42.2, 2)") # Testing # con.execute("SELECT * FROM items") # print(con.fetchall())
执行后生成了两个文件:
db.duckdb db.duckdb.wal
目前卡在DBeaver的连接配置环节,不清楚需要哪些设置,请问如何通过DBeaver对这个DuckDB文件执行查询?
解决方案
1. 安装DuckDB驱动(如果未安装)
打开DBeaver,点击顶部菜单的「数据库」→「驱动管理器」,在搜索框输入「DuckDB」,找到对应驱动后点击「下载/更新」,等待驱动安装完成。
2. 创建DuckDB连接
- 点击DBeaver左上角的「新建连接」按钮(或使用快捷键
Ctrl+N) - 在弹出的数据库列表中找到「DuckDB」,选中后点击「下一步」
3. 配置连接参数
- 在「数据库文件」输入框右侧,点击文件夹图标,选择你生成的
db.duckdb文件(不要选择.wal文件,这是DuckDB的写前日志文件,主数据库文件是db.duckdb) - 其余参数保持默认即可(DuckDB无需用户名/密码认证)
4. 测试并完成连接
- 点击「测试连接」按钮,确认连接状态正常
- 测试通过后点击「完成」,即可在DBeaver左侧导航栏看到该DuckDB连接
5. 执行查询
- 展开左侧的DuckDB连接,找到
items表,右键选择「查看数据」可直接查看表内容 - 或新建SQL编辑器(右键连接→「新建SQL编辑器」),输入查询语句:
SELECT * FROM items;
点击执行按钮即可获取查询结果
注意事项
- 如果Python程序仍在运行,可能会占用
db.duckdb文件,导致DBeaver连接失败,请先关闭Python进程 .wal文件是DuckDB的临时日志,连接成功后DBeaver会自动处理,无需手动操作
内容的提问来源于stack exchange,提问作者Ohumeronen
相关产品推荐
相关产品推荐

