⌘+k ctrl+k
1.3 (稳定版)
搜索快捷键 cmd + k | ctrl + k
描述

描述表

要查看表的模式,请使用 DESCRIBE 语句(或其别名 DESCSHOW),后跟表名。

CREATE TABLE tbl (i INTEGER PRIMARY KEY, j VARCHAR);
DESCRIBE tbl;
SHOW tbl; -- equivalent to DESCRIBE tbl;
列名 (column_name) 列类型 (column_type) null key 默认值 (default) 额外信息 (extra)
i INTEGER NO PRI NULL NULL
j VARCHAR 是 (YES) NULL NULL NULL

描述查询

要查看查询结果的模式,请在查询前加上 DESCRIBE

DESCRIBE SELECT * FROM tbl;
列名 (column_name) 列类型 (column_type) null key 默认值 (default) 额外信息 (extra)
i INTEGER 是 (YES) NULL NULL NULL
j VARCHAR 是 (YES) NULL NULL NULL

请注意,存在细微差异:与描述表时的结果相比,可为空性(null)和键信息(key)会丢失。

在子查询中使用 DESCRIBE

DESCRIBE 可以用作子查询。这允许从描述中创建表,例如

CREATE TABLE tbl_description AS SELECT * FROM (DESCRIBE tbl);

描述远程表

可以使用 DESCRIBE TABLE 语句,通过httpfs 扩展来描述远程表。例如

DESCRIBE TABLE 'https://blobs.duckdb.org/data/Star_Trek-Season_1.csv';
列名 (column_name) 列类型 (column_type) null key 默认值 (default) 额外信息 (extra)
season_num BIGINT 是 (YES) NULL NULL NULL
episode_num BIGINT 是 (YES) NULL NULL NULL
aired_date DATE 是 (YES) NULL NULL NULL
cnt_kirk_hookups BIGINT 是 (YES) NULL NULL NULL
cnt_downed_redshirts BIGINT 是 (YES) NULL NULL NULL
bool_aliens_almost_took_over_planet BIGINT 是 (YES) NULL NULL NULL
bool_aliens_almost_took_over_enterprise BIGINT 是 (YES) NULL NULL NULL
cnt_vulcan_nerve_pinch BIGINT 是 (YES) NULL NULL NULL
cnt_warp_speed_orders BIGINT 是 (YES) NULL NULL NULL
highest_warp_speed_issued BIGINT 是 (YES) NULL NULL NULL
bool_hand_phasers_fired BIGINT 是 (YES) NULL NULL NULL
bool_ship_phasers_fired BIGINT 是 (YES) NULL NULL NULL
bool_ship_photon_torpedos_fired BIGINT 是 (YES) NULL NULL NULL
cnt_transporter_pax BIGINT 是 (YES) NULL NULL NULL
cnt_damn_it_jim_quote BIGINT 是 (YES) NULL NULL NULL
cnt_im_givin_her_all_shes_got_quote BIGINT 是 (YES) NULL NULL NULL
cnt_highly_illogical_quote BIGINT 是 (YES) NULL NULL NULL
bool_enterprise_saved_the_day BIGINT 是 (YES) NULL NULL NULL