描述一个表
为了查看表的模式,请使用DESCRIBE
语句(或其别名DESC
和SHOW
)后跟表名。
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 | 整数 | 否 | 主键 | 空 | 空 |
j | VARCHAR | 是 | 空 | 空 | 空 |
描述查询
为了查看查询结果的模式,请在查询前加上DESCRIBE
。
DESCRIBE SELECT * FROM tbl;
column_name | column_type | null | key | default | extra |
---|---|---|---|---|---|
i | 整数 | 是 | 空 | 空 | 空 |
j | VARCHAR | 是 | 空 | 空 | 空 |
请注意,存在一些细微的差异:与描述表时的结果相比,可空性(null
)和键信息(key
)丢失了。
在子查询中使用 DESCRIBE
DESCRIBE
可以用作子查询。这允许从描述中创建表,例如:
CREATE TABLE tbl_description AS SELECT * FROM (DESCRIBE tbl);
描述远程表
可以通过使用DESCRIBE TABLE
语句来描述远程表,例如:
DESCRIBE TABLE 'https://blobs.duckdb.org/data/Star_Trek-Season_1.csv';
column_name | column_type | null | key | default | extra |
---|---|---|---|---|---|
season_num | BIGINT | 是 | 空 | 空 | 空 |
episode_num | BIGINT | YES | NULL | NULL | NULL |
aired_date | DATE | YES | NULL | NULL | NULL |
cnt_kirk_hookups | BIGINT | 是 | 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 | 是 | 空 | 空 | 空 |
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 | 是 | 空 | 空 | 空 |
bool_ship_photon_torpedos_fired | BIGINT | 是 | 空 | 空 | 空 |
cnt_transporter_pax | BIGINT | 是 | 空 | 空 | 空 |
cnt_damn_it_jim_quote | BIGINT | 是 | 空 | 空 | 空 |
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 |