更新时间:2026-07-03 GMT+08:00
分享

查看指定表所有分区

功能描述

查看指定表的所有分区。可通过 PARTITION 子句指定分区条件进行筛选,支持部分分区键匹配。

语法格式

SHOW PARTITIONS [ db_name. ] table_name [ PARTITION partition_specs ]

其中 partition_specs 的语法为:

partition_specs = ( partition_col_name = partition_col_value [ , partition_col_name = partition_col_value , ... ] )

参数说明

参数

是否必选

描述

db_name

数据库名称。若未指定,则默认使用当前数据库。命名规则:由字母、数字和下划线(_)组成,不能是纯数字,且不能以下划线开头。

table_name

表名称。所查看的表必须是分区表,否则会出错。命名规则:由字母、数字和下划线(_)组成,不能是纯数字,且不能以下划线开头。匹配规则为:^(?!_)(?![0-9]+$)[A-Za-z0-9_$]*$。如果包含特殊字符需要使用反引号(``)包围起来。

PARTITION partition_specs

分区筛选条件,格式为 key=value 形式。若分区字段为多个字段,可以不包含所有字段,系统会返回匹配上的所有分区信息。

注意事项

  • 所要查看分区的表必须存在且是分区表,否则会出错。
  • partition_specs 中可以只指定部分分区键,系统将返回所有匹配的分区。例如,对于 (year, month, day) 三级分区表,只指定 year=2024 将返回该年份下的所有分区。

示例1:查看表的所有分区

查看 student 表下的所有分区。

SHOW PARTITIONS student;

返回结果示例:

+-------------------+
|partition          |
+-------------------+
|year=2024/month=01 |
|year=2024/month=02 |
|year=2024/month=03 |
+-------------------+

示例2:查看指定分区

查看 student 表中 year=2024 且 month=01 的分区。

SHOW PARTITIONS student PARTITION(year='2024', month='01');

示例3:部分分区键匹配

查看 student 表中 year=2024 的所有分区(不指定 month,将返回该年份下的所有月份分区)。

SHOW PARTITIONS student PARTITION(year='2024');

返回结果示例:

+-------------------+
|partition          |
+-------------------+
|year=2024/month=01 |
|year=2024/month=02 |
|year=2024/month=03 |
+-------------------+

示例4:查看指定数据库的分区表

查看 school_db 数据库下 student 表的所有分区。

SHOW PARTITIONS school_db.student;

相关文档