Returns the schema of a Delta table, listing each column's name, data type, nullability, partition status, and optional comment.
DESCRIBE TABLE <table>
## Overview DESCRIBE TABLE displays the column-level schema of a Delta table. It is the primary command for inspecting column names, data types, constraints, and partition membership. ## Behavior The engine opens the Delta table, reads the schema from the latest snapshot, and builds a result set with one row per column. The result contains the following columns: | Column | Type | Description | |--------|------|-------------| | col_name | UTF8 | The column name. | | data_type | UTF8 | The Arrow data type (e.g., Int64, Utf8, Timestamp(Millisecond, None), Struct, List). | | nullable | UTF8 | "true" if the column accepts NULL values; "false" if NOT NULL. | | is_partition | UTF8 | "true" if the column is a partition column; "false" otherwise. | | comment | UTF8, nullable | The column comment from field metadata, if one was set via CREATE TABLE or ALTER TABLE. | Columns appear in the order they are defined in the table schema. Partition columns are included in the listing with is_partition set to "true". ### Data Type Display Data types are shown in Arrow format notation. Common mappings from Delta SQL types to displayed types: - STRING displays as Utf8 - INT displays as Int32 - BIGINT displays as Int64 - DOUBLE displays as Float64 - BOOLEAN displays as Boolean - DATE displays as Date32 - TIMESTAMP displays as Timestamp(Microsecond, None) Nested types (STRUCT, ARRAY, MAP) are displayed with their full Arrow type signatures. ## Compatibility DESCRIBE TABLE follows standard SQL syntax. The TABLE keyword is optional, matching the behavior of most SQL engines. The output format includes Delta-specific columns (is_partition, comment) beyond the standard col_name and data_type.
| Name | Type | Description |
|---|---|---|
table | Specifies the name or path of the Delta table whose schema to display. The table must be registered in the session via CREATE DELTA TABLE or OPEN DELTA TABLE. Fully qualified names (zone.schema.table) are supported. The TABLE keyword is optional; DESCRIBE my_table and DESCRIBE TABLE my_table are equivalent. |
-- Show the schema of a table
DESCRIBE TABLE warehouse.sales.orders;
-- Shorthand without the TABLE keyword
DESCRIBE warehouse.sales.customers;
-- Inspect a staging table's schema
DESCRIBE TABLE staging.import.raw_events;
-- Check which columns are partition columns
DESCRIBE TABLE gold.analytics.daily_metrics;