---
layout: Conceptual
title: DESCRIBE TABLE（描述表结构）- Azure Databricks - Azure Databricks | Azure Docs
canonicalUrl: https://docs.azure.cn/zh-cn/databricks/sql/language-manual/sql-ref-syntax-aux-describe-table
schema: Conceptual
author: rockboyfor
breadcrumb_path: /bread/toc.json
depot_name: Azure.mooncake-docs
description: 了解如何在 Databricks SQL 和 Databricks Runtime 中使用 SQL 语言的 DESCRIBE TABLE 语法。
document_id: 2ce4f122-8453-dd79-28b6-53bbfc8b5e28
document_version_independent_id: 0ed05535-983b-f655-4651-d95d43544845
git_commit_id: 3c39e98586f35073778c9a364fe111cbf4d1aa09
gitcommit: https://github.com/MicrosoftDocs/mc-docs-pr/blob/3c39e98586f35073778c9a364fe111cbf4d1aa09/articles/databricks/sql/language-manual/sql-ref-syntax-aux-describe-table.md
locale: zh-cn
ms.author: v-edwardchen
ms.custom: databricksmigration
ms.date: 2026-04-13T00:00:00.0000000Z
ms.reviewer: jasonh
ms.service: azure-databricks
ms.subservice: databricks-sql-analytics
ms.topic: language-reference
origin.date: 2026-01-20T00:00:00.0000000Z
original_content_git_url: https://github.com/MicrosoftDocs/mc-docs-pr/blob/live/articles/databricks/sql/language-manual/sql-ref-syntax-aux-describe-table.md
recommendations: false
site_name: DocsAzureCN
uhfHeaderId: mooncake
updated_at: 2026-04-17T07:23:00.0000000Z
ms.translationtype: MT
ms.contentlocale: zh-cn
loc_version: 2026-02-12T09:27:43.6701168Z
loc_source_id: Github-85544329#live
loc_file_id: Github-85544329.live.Azure.mooncake-docs.articles/databricks/sql/language-manual/sql-ref-syntax-aux-describe-table.md
page_type: conceptual
toc_rel: ../../toc.json
feedback_system: None
feedback_product_url: ''
feedback_help_link_type: ''
feedback_help_link_url: ''
word_count: 1449
asset_id: databricks/sql/language-manual/sql-ref-syntax-aux-describe-table
item_type: Content
cmProducts:
- https://authoring-docs-microsoft.poolparty.biz/devrel/545d40c6-c50c-444b-b422-1c707eeab28e
- https://authoring-docs-microsoft.poolparty.biz/devrel/cbe4ca68-43ac-4375-aba5-5945a6394c20
spProducts:
- https://authoring-docs-microsoft.poolparty.biz/devrel/b908d601-32e8-445a-b044-a507b5d1689e
- https://authoring-docs-microsoft.poolparty.biz/devrel/ced846cc-6a3c-4c8f-9dfb-3de0e90e2742
platformId: d602a500-2fa3-e7fc-b411-1f648d0bb4b2
---

# DESCRIBE TABLE（描述表结构）- Azure Databricks - Azure Databricks | Azure Docs

适用于：![已勾选](../../_static/images/icons/check.png) Databricks SQL ![勾选标记为“是”](../../_static/images/icons/check.png) Databricks Runtime

返回表的基本元数据信息。 元数据信息包括列名、列类型和列注释。 可根据需要指定分区规范或列名称，以分别返回与分区或列有关的元数据。 使用 Delta 表时，不会返回所有字段。

元数据以报表形式或 JSON 文档的形式返回。

重要

使用 `DESCRIBE AS JSON` 以编程方式分析/描述输出。 非 JSON 报表格式可能会更改。

## 语法

```
{ DESC | DESCRIBE } [ TABLE ] [ EXTENDED ] table_name { [ PARTITION clause ] | [ column_name ] } [ AS JSON ]
```

为了兼容性，`FORMATTED` 可以作为 `EXTENDED`的同义词。

## 参数

- **`EXTENDED`**

    如果指定了该参数，则显示有关指定列的详细信息，包括命令收集的列统计信息和其他元数据（例如架构限定符、所有者和访问时间）。
- **[table_name](sql-ref-names#table-name)**

    标识要描述的表。 该名称不能使用 [时态规范或选项规范](sql-ref-names#table-name)。 如果找不到表，Azure Databricks 将引发 [TABLE_OR_VIEW_NOT_FOUND](../../error-messages/table-or-view-not-found-error-class) 错误。
- **[PARTITION 子句](sql-ref-partition#partition)**

    一个可选参数，指示 Databricks SQL 为命名分区返回附加元数据。
- **[column_name](sql-ref-names#column-name)**

    一个可选参数，具有需说明的列名。 目前不允许指定嵌套列。

    单个列支持 JSON 格式。
- **`AS JSON`**

    **适用于：**![已勾选“是”的](../../_static/images/icons/check.png) Databricks SQL ![已勾选“是”的](../../_static/images/icons/check.png) Databricks Runtime 16.2 及更高版本

    （可选）将表元数据作为 JSON 字符串而不是人工可读报表返回。 使用程序分析结果时使用此格式。

    仅当指定 `EXTENDED` 格式时才受支持。

参数`partition_spec`和`column_name`互斥，不能同时指定。

## JSON 格式的输出

指定 `AS JSON` 时，输出将作为 JSON 字符串返回。 支持以下架构：

```
{
  "table_name": "<table_name>",
  "catalog_name": "<catalog_name>",
  "schema_name": "<schema_name>",
  "namespace": ["<schema_name>"],
  "type": "<table_type>",
  "provider": "<provider>",
  "columns": [
    {
      "name": "<name>",
      "type": <type_json>,
      "comment": "<comment>",
      "nullable": <boolean>,
      "default": "<default_val>",
      "is_measure": <boolean>, // Included only for measure columns of metric views
    }
  ],
  "partition_values": {
    "<col_name>": "<val>"
  },
  "partition_columns": ["col1", "col2"],
  "location": "<path>",
  "view_text": "<view_text>",
  "view_original_text": "<view_original_text>",
  "view_schema_mode": "<view_schema_mode>",
  "view_catalog_and_namespace": "<view_catalog_and_namespace>",
  "view_query_output_columns": ["<col_name>"],
  "comment": "<comment>",
  "table_properties": {
    "property1": "<property1>",
    "property2": "<property2>"
  },
  "statistics": {
    "num_rows": <count>,
    "size_in_bytes": <bytes>,
    "table_change_stats": {
      "inserted": <count>,
      "deleted": <count>,
      "updated": <count>,
      "change_percent": <percent_changed_float>
    }
  },
  "storage_properties": {
    "property1": "<property1>",
    "property2": "<property2>"
  },
  "serde_library": "<serde_library>",
  "input_format": "<input_format>",
  "output_format": "<output_format>",
  "num_buckets": <num_buckets>,
  "bucket_columns": ["<col_name>"],
  "sort_columns": ["<col_name>"],
  "created_time": "<timestamp_ISO-8601>",
  "created_by": "<created_by>",
  "last_access": "<timestamp_ISO-8601>",
  "partition_provider": "<partition_provider>",
  "collation": "<default_collation>", // Available in :re[DBR] 16.4 and above
  "language": "<language>", // Language such as YAML, included only for metric views
  "row_filter": { // Available in :re[DBR] 17.0 and above
     "filter_function": {
        "catalog_name": "<catalog_name>",
        "schema_name": "<schema_name>",
        "function_name: "<function_name>",
        "specific_name": "<specific_name>"
     },
     "arguments": ["<arg1>", "<arg2>"]
     },
  "column_masks": [ // Available in :re[DBR] 17.0 and above
    {"column_name": "<column_name>",
     "mask_function": {
        "catalog_name": "<catalog_name>",
        "schema_name": "<schema_name>",
        "function_name: "<function_name>",
        "specific_name": "<specific_name>"
     },
     "arguments": ["<arg1>", "<arg2>"]
    }
  ]
  "refresh_information": { // Available in :re[DBR] 17.3 and above, included only for materialized views and streaming tables
    "last_refreshed_at": "<timestamp_ISO-8601>",
    "last_refresh_type": "<refresh_type>",
    "latest_refresh_status": "<refresh_status>",
    "latest_refresh_link": "<refresh_url>",
    "refresh_schedule": "<schedule>"
  }
}
```

下面是 `<type_json>`的架构定义：

| SQL 类型 | JSON 表示形式 |
| --- | --- |
| [TINYINT](data-types/tinyint-type) | `{ "name" : "tinyint" }` |
| [SMALLINT](data-types/smallint-type) | `{ "name" : "smallint" }` |
| [INT](data-types/int-type) | `{ "name" : "int" }` |
| [BIGINT](data-types/bigint-type) | `{ "name" : "bigint" }` |
| [浮](data-types/float-type) | `{ "name" : "float" }` |
| [加倍](data-types/double-type) | `{ "name" : "double" }` |
| [DECIMAL（p，s）](data-types/decimal-type) | `{ "name" : "decimal", "precision": p, "scale": s }` |
| [字符串](data-types/string-type) | `{ "name" : "string", "collation": "<collation>" }` |
| [VARCHAR（n）](data-types/string-type) | `{ "name" : "varchar", "length": n }` |
| [CHAR（n）](data-types/string-type) | `{ "name" : "char", "length": n }` |
| [二元](data-types/binary-type) | `{ "name" : "binary" }` |
| [布尔](data-types/boolean-type) | `{ "name" : "boolean" }` |
| DATE | `{ "name" : "date" }` |
| [时间戳](data-types/timestamp-type) | `{ "name" : "timestamp_ltz" }` |
| [TIMESTAMP_NTZ](data-types/timestamp-ntz-type) | `{ "name" : "timestamp_ntz" }` |
| [从起始单位到结束单位的区间](data-types/interval-type) | `{ "name" : "interval", "start_unit": "<start_unit>", "end_unit": "<end_unit>" }` |
| [数组&lt;元素类型&gt;](data-types/array-type) | `{ "name" : "array", "element_type": <type_json>, "element_nullable": <boolean_val> }` |
| [MAP&lt;key_type、value_type&gt;](data-types/map-type) | `{ "name" : "map", "key_type": <type_json>, "value_type": <type_json>, "element_nullable": <boolean_val> }` |
| [结构&lt;field_name...， ...&gt;](data-types/struct-type) | `{ "name" : "struct", "fields": [ {"name" : "<field_name>", "type" : <type_json>, "nullable": <boolean_val>, "comment": "<field_comment>", "default": "<default_val>"}] }` |
| [变体](data-types/variant-type) | `{ "name" : "variant" }` |

## 示例

```sql
-- Creates a table `customer`. Assumes current schema is `salesdb`.
> CREATE TABLE customer(
        cust_id INT,
        state VARCHAR(20),
        name STRING COMMENT 'Short name'
    )
    USING parquet
    PARTITIONED BY (state);

> INSERT INTO customer PARTITION (state = 'AR') VALUES (100, 'Mike');

-- Returns basic metadata information for unqualified table `customer`
> DESCRIBE TABLE customer;
                col_name data_type    comment
 ----------------------- --------- ----------
                 cust_id       int       null
                    name    string Short name
                   state    string       null
 # Partition Information
              # col_name data_type    comment
                   state    string       null

-- Returns basic metadata information for qualified table `customer`
> DESCRIBE TABLE salesdb.customer;
                col_name data_type    comment
 ----------------------- --------- ----------
                 cust_id       int       null
                    name    string Short name
                   state    string       null
 # Partition Information
              # col_name data_type    comment
                   state    string       null

-- Returns additional metadata such as parent schema, owner, access time etc.
> DESCRIBE TABLE EXTENDED customer;
                     col_name                      data_type    comment
 ---------------------------- ------------------------------ ----------
                      cust_id                            int       null
                         name                         string Short name
                        state                         string       null
      # Partition Information
                   # col_name                      data_type    comment
                        state                         string       null

 # Detailed Table Information
                     Database                        default
                        Table                       customer
                        Owner                  <TABLE OWNER>
                 Created Time   Tue Apr 07 22:56:34 JST 2020
                  Last Access                        UNKNOWN
                   Created By                <SPARK VERSION>
                         Type                        MANAGED
                     Provider                        parquet
                     Location file:/tmp/salesdb.db/custom...
                Serde Library org.apache.hadoop.hive.ql.i...
                  InputFormat org.apache.hadoop.hive.ql.i...
                 OutputFormat org.apache.hadoop.hive.ql.i...
           Partition Provider                        Catalog

-- Returns partition metadata such as partitioning column name, column type and comment.
> DESCRIBE TABLE EXTENDED customer PARTITION (state = 'AR');
                       col_name                      data_type    comment
 ------------------------------ ------------------------------ ----------
                         cust_id                            int       null
                           name                         string Short name
                          state                         string       null
        # Partition Information
                     # col_name                      data_type    comment
                          state                         string       null

 # Detailed Partition Inform...
                       Database                        default
                          Table                       customer
               Partition Values                     [state=AR]
                       Location file:/tmp/salesdb.db/custom...
                  Serde Library org.apache.hadoop.hive.ql.i...
                    InputFormat org.apache.hadoop.hive.ql.i...
                   OutputFormat org.apache.hadoop.hive.ql.i...
             Storage Properties [serialization.format=1, pa...
           Partition Parameters {transient_lastDdlTime=1586...
                   Created Time   Tue Apr 07 23:05:43 JST 2020
                    Last Access                        UNKNOWN
           Partition Statistics                      659 bytes

          # Storage Information
                       Location file:/tmp/salesdb.db/custom...
                  Serde Library org.apache.hadoop.hive.ql.i...
                    InputFormat org.apache.hadoop.hive.ql.i...
                   OutputFormat org.apache.hadoop.hive.ql.i...
 ------------------------------ ------------------------------ ----------

-- Returns the metadata for `name` column.
-- Optional `TABLE` clause is omitted and column is fully qualified.
> DESCRIBE customer salesdb.customer.name;
 info_name info_value
 --------- ----------
  col_name       name
 data_type     string
   comment Short name

- Returns the table metadata in JSON format.
> DESCRIBE EXTENDED customer AS JSON;
{
  "table_name":"customer",
  "catalog_name":"spark_catalog",
  "schema_name":"default",
  "namespace":["default"],
  "columns":[
    {"name":"cust_id","type":{"name":"integer"},"nullable":true},
    {"name":"name","type":{"name":"string"},"comment":"Short name","nullable":true},
    {"name":"state","type":{"name":"varchar","length":20},"nullable":true}],
  "location": "file:/tmp/salesdb.db/custom...",
  "created_time":"2020-04-07T14:05:43Z",
  "last_access":"UNKNOWN",
  "created_by":"None",
  "type":"MANAGED",
  "provider":"parquet",
  "partition_provider":"Catalog",
  "partition_columns":["state"]}

-- The JSON describe of a metric view
> DESCRIBE EXTENDED region_sales_metrics AS JSON;
{
  "table_name":"region_sales_metrics",
  "catalog_name":"main",
  "namespace":["default"],
  "schema_name":"default",
  "columns":[
    {"name":"month","type":{"name":"timestamp_ltz"},"nullable":true},
    {"name":"status","type":{"name":"string","collation":"UTF8_BINARY"},"nullable":true},
    {"name":"prder_priority","type":{"name":"string","collation":"UTF8_BINARY"},"nullable":true},
    {"name":"count_orders","type":{"name":"bigint"},"nullable":false,"is_measure":true},
    {"name":"total_revenue","type":{"name":"decimal","precision":28,"scale":2},"nullable":true,"is_measure":true},
    {"name":"total_revenue_per_customer","type":{"name":"decimal","precision":38,"scale":12},"nullable":true,"is_measure":true}],
  "owner":"alf@melmak.et",
  "created_time":"2025-05-18T23:45:25Z",
  "last_access":"UNKNOWN",
  "created_by":"Spark ",
  "type":"METRIC_VIEW",
  "comment":"A metric view for regional sales metrics.",
  "view_text":"\n version: 0.1\n source: samples.tpch.orders\n filter: o_orderdate > '1990-01-01'\n dimensions:\n - name: month\n expr: date_trunc('MONTH', o_orderdate)\n - name: status\n expr: case\n when o_orderstatus = 'O' then 'Open'\n when o_orderstatus = 'P' then 'Processing'\n when o_orderstatus = 'F' then 'Fulfilled'\n end\n - name: prder_priority\n expr: split(o_orderpriority, '-')[1]\n measures:\n - name: count_orders\n expr: count(1)\n - name: total_revenue\n expr: SUM(o_totalprice)\n - name: total_revenue_per_customer\n expr: SUM(o_totalprice) / count(distinct o_custkey)\n ","language":"YAML","table_properties":{"metric_view.from.name":"samples.tpch.orders","metric_view.from.type":"ASSET","metric_view.where":"o_orderdate > '1990-01-01'"},
  "view_creation_spark_configuration":{ ... },
  "collation":"UTF8_BINARY"}
```

## 描述细节

```
DESCRIBE DETAIL [schema_name.]table_name
```

返回架构、分区、表大小等方面的信息。 例如，对于 Delta 表，可以看到表的当前 [读取器和编写器版本](../../delta/feature-compatibility) 。 请参阅 [使用 describe detail 来查看表格详细信息](../../delta/table-details) 以获取详细的架构信息。