You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

DuckDB是否有类似SHOW TABLES的命令,可查看数据库表与类表对象及Schema?

DuckDB查看真实表与类表对象(含Schema)的方法

DuckDB可以同时列出真实数据库表和类表对象(如pandas DataFrame),并查看它们的Schema,以下是两种实用方法:

1. 使用系统函数查询全量对象与Schema

DuckDB提供duckdb_tables()和duckdb_columns()两个系统函数,可直接获取所有可见表(含永久表、临时表、注册的类表对象)及其结构信息。

示例代码

首先注册DataFrame到连接(可选,显式注册后元数据查询更稳定):

import pandas as pd
import duckdb

df = pd.read_parquet("my_data.parquet")
con = duckdb.connect()
# 显式将DataFrame注册为连接内的表对象
con.register("df", df)

查询所有表对象:

SELECT table_name FROM duckdb_tables();

查询所有对象的Schema详情:

SELECT table_name, column_name, data_type FROM duckdb_columns();

2. 使用PRAGMA命令快速查看

通过PRAGMA show_tables命令可快速列出所有表,加上'all'参数会包含临时对象和类表对象;搭配PRAGMA table_info或DESCRIBE命令查看Schema。

示例命令

列出所有表对象:

PRAGMA show_tables('all');

查看指定对象的Schema(以df为例):

-- 方式1
PRAGMA table_info('df');
-- 方式2
DESCRIBE df;

注意事项

如果未显式注册DataFrame(仅在查询中直接引用Python环境变量),这类临时自动识别的对象可能不会出现在系统元数据中,建议通过con.register("表名", DataFrame对象)显式注册后再查询元数据。

内容的提问来源于stack exchange,提问作者william_grisaitis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 04:17:23