查看指定表所有分区
功能描述
查看指定表的所有分区。可通过 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;