SHOW 语句

列出指定对象类型的现有对象。

SHOW 命令语法文档

语法结构

SHOW <object_type_plural> 
[ IN <scope_object_name> ] 
[ LIKE '<pattern>' | WHERE <expression>  ] 
[ LIMIT <num> ]

参数详解

  1. 核心参数
  • <object_type_plural>(必需)
    需展示的对象类型
  1. 作用域限定
  • IN <scope_object_name>(可选)
    指定对象的作用域层级,对应关系如下表:
对象类型作用域格式示例
TABLE/VIEW/MATERIALIZED VIEW/SYNONYM/VOLUME/TABLE STREAM /PIPEIN schema_nameSHOW TABLES IN sales
作业IN VCLUSTER vc_nameSHOW JOBS IN VCLUSTER prod
索引/列IN table_nameSHOW COLUMNS IN orders
SCHEMA /VCLUSTER/USERS/ROLESIN workspace_name SHOW SCHEMA IN workspace_name
分区不支持使用IN关键字table_nameSHOW PARTITIONS table_name
CONNECTION/SHARE/FUNCTION不支持作用域限定SHOW CONNECTIONS
  1. 结果过滤
  • LIKE '<pattern>'(可选,与WHERE二选一)
    使用通配符模式匹配对象名称(支持%_

    SHOW TABLES LIKE 'temp%'  -- 匹配temp开头的表
  • WHERE <expression>(可选,与LIKE二选一) ,``` 支持用户根据命令显示的字段进行筛选。用户可以通过表达式对结果使用表达式进行复杂过滤,目前只有TABLE、TABLE STREAM、CONNECTION、VCLUSTER、JOB、SHARE、SYNONYM、VCLUSTER、PIPE对象支持。对象类型与可筛字段矩阵

对象类型核心过滤字段(支持全字段组合查询)
TABLEtable_nameis_viewis_materialized_viewis_externalis_dynamic
TABLE STREAMcreate_timenametable_namemodecomment
CONNECTIONnamecategorytypeenabledcreated_time
VCLUSTERnamevcluster_typemax_concurrencystatecreatorcreate_timemin_replicasmax_replicasmin_vcluster_sizemax_vcluster_sizecurrent_vcluster_sizepreload_tablescurrent_replicasauto_suspend_in_secondauto_scale_in_in_secondrunning_jobsqueued_jobserror_messageprovision_mode
JOBjob_idstatuscreatorprioritystart_timeend_timeexecution_timevcluster_namejob_textquery_tag
SHAREshare_nameproviderprovider_instancescopekind
SYNONYMsynonym_namecreate_timetarget_typetarget_name
PIPEpipe_namepipe_kindstatuscopy_statement
SCHMAschema_nametype
     SHOW TABLES WHERE table_name=base_a_dt;
  1. 结果限制
  • LIMIT <num>(可选)
    限制返回结果数量
    SHOW TABLES LIMIT 10
  1. 特殊语法形式 索引/列的FROM语法,对于索引和列对象,支持使用FROM替代IN TABLE
SHOW INDEXES FROM customers       -- 等效于 SHOW INDEXES IN TABLE customers
SHOW COLUMNS FROM order_details   -- 等效于 SHOW COLUMNS IN TABLE order_details

注意事项

  1. conneciton和share不支持作用域限定
  2. 模式匹配区分大小写
  3. WHERE子句支持标准SQL表达式语法
  4. 返回结果默认按对象名称排序

LIKE子句的使用示例

-- 查找名称中包含'taxi'的所有表
SHOW TABLES LIKE '%taxi%';

-- 查找名称以'yellow'开头的所有表
SHOW TABLES LIKE 'yellow%';

-- 查找名称中第二个字符为'a'的所有schema
SHOW SCHEMAS LIKE '_a%';

WHERE子句的使用示例

-- 查找所有不是视图的表
SHOW TABLES WHERE is_view=false;

-- 查找所有外部表
SHOW TABLES WHERE is_external=true;

-- 查找特定schema中的所有表
SHOW TABLES WHERE schema_name='mcp_demo';

-- 使用多个条件进行过滤
SHOW TABLES WHERE is_view=false AND table_name LIKE '%taxi%';

-- 查找特定连接的卷
SHOW VOLUMES WHERE connection='xxx.storage_connection';

-- 查找外部卷
SHOW VOLUMES WHERE external=true;

使用建议

  1. 当只需要按对象名称过滤时,使用LIKE子句更为简洁
  2. 当需要基于对象的属性或特性进行筛选时,使用WHERE子句更为灵活
  3. 对于不支持WHERE子句的对象类型,只能使用LIKE子句进行名称过滤
  4. WHERE子句支持更复杂的过滤条件,包括逻辑运算符的组合

请注意,云器Lakehouse的SHOW命令功能与标准SQL中的SHOW命令相似,但有其特定的语法和支持范围。

具体的语法参考

SHOW USERS

SHOW GRANTS

SHOW ROLES

SHOW GRANTS

SHOW CONNECTIONS

SHOW SCHEMAS

查看外部SCHEMA

SHOW SHARES

SHOW VCLUSTERS

SHOW JOBS

SHOW DYNAMIC TABLE REFRESH HISTORY

SHOW TABLES

SHOW VIEWS

列出当前空间下的物化视图

列出动态表

SHOW VOLUMES

SHOW TABLE STREAMS

SHOW SYNONYMS

SHOW INDEX

SHOW PARTITIONS

SHOW COLUMNS

联系我们
预约咨询
微信咨询
电话咨询