SHOW TABLES
功能概述
列出指定 Schema 下的所有表、视图、物化视图、外部表和动态表。
语法结构
SHOW TABLES [IN schema_name] [LIKE 'pattern' | WHERE expr] [LIMIT num]
参数说明
| 参数 | 必填 | 说明 |
|---|
IN schema_name
IN schema_name | 否 | 指定要查询的 Schema,不指定则使用当前 Schema |
LIKE 'pattern'
LIKE 'pattern' | 否 | 按表名过滤,支持 %
% (任意字符串)和 _
_ (单个字符),不区分大小写。不能与 WHERE
WHERE 同时使用 |
WHERE expr
WHERE expr | 否 | 按返回字段过滤,支持字段:table_name
table_name 、is_view
is_view 、is_materialized_view
is_materialized_view 、is_external
is_external 、is_dynamic
is_dynamic |
LIMIT num
LIMIT num | 否 | 限制返回行数 |
返回字段说明
| 字段 | 说明 |
|---|
schema_name
schema_name | Schema 名称 |
table_name
table_name | 表名 |
is_view
is_view | 是否为视图 |
is_materialized_view
is_materialized_view | 是否为物化视图 |
is_external
is_external | 是否为外部表 |
is_dynamic
is_dynamic | 是否为动态表 |
使用示例
-
查询
doc_test
doc_test
Schema 下的所有表:
SHOW TABLES IN doc_test;
+-------------+-------------+---------+----------------------+-------------+------------+
| schema_name | table_name | is_view | is_materialized_view | is_external | is_dynamic |
+-------------+-------------+---------+----------------------+-------------+------------+
| doc_test | departments | false | false | false | false |
| doc_test | employees | false | false | false | false |
| doc_test | logs | false | false | false | false |
| doc_test | orders | false | false | false | false |
| doc_test | products | false | false | false | false |
+-------------+-------------+---------+----------------------+-------------+------------+
-
只查看普通表(排除视图、物化视图、外部表、动态表):
SHOW TABLES IN doc_test WHERE is_view=false AND is_materialized_view=false AND is_external=false AND is_dynamic=false;
-
按名称模糊过滤:
SHOW TABLES IN doc_test LIKE '%emp%';
-
查看当前 Schema 下所有视图:
SHOW TABLES WHERE is_view=true;
-
按名称精确过滤(WHERE 方式,字符串需加引号):
SHOW TABLES IN doc_test WHERE table_name='employees';
注意事项
LIKE
LIKE
和 WHERE
WHERE
不能同时使用。
WHERE
WHERE
中字符串值必须加引号,如 WHERE table_name='employees'
WHERE table_name='employees'
(不能写 WHERE table_name=employees
WHERE table_name=employees
)。
- 结果包含所有类型的表对象,通过
is_*
is_*
字段区分类型。