首批通过分布式安全可靠测评,为关键业务系统打造
SHOW
更新时间:2026-05-28 20:40:17
描述
该语句用于展示数据库对象的信息。
语法
SHOW {
| TABLE STATUS
| [FULL] PROCESSLIST
| RECYCLEBIN
| VARIABLES [LIKE 'pattern']
| PARAMETERS
| CHARSET | CHARACTER SET
| COLLATION
| CREATE TABLEGROUP tablegroup_name
| CREATE TABLE table_name
| CREATE VIEW view_name
| GRANTS
| PRIVILEGES
| ERRORS
| TRACE [FORMAT='JSON']
| FILES IN LOCATION @location_name['/path'] [PATTERN = 'regex_pattern']
| SENSITIVE RULES [show_sensitive_rule_option]
};
show_sensitive_rule_option 用于限定规则范围并按名称或列条件筛选,展开语法如下(FROM 与 IN 语义相同,可混用):
show_sensitive_rule_option:
[ [ FROM | IN ] { table_name | schema_name.table_name | USER user_name }
[ [ FROM | IN ] schema_name ] ]
[ LIKE 'pattern' ]
[ WHERE condition ]
- 不书写任何选项时,展示当前租户下全部敏感数据保护规则。
table_name/schema_name.table_name:仅展示与指定表关联的规则;若表名与当前默认 schema 下的表同名,可用FROM table_name FROM schema_name或IN table_name IN schema_name等形式限定 schema(与内核 SQLQA 用例一致)。USER user_name:展示指定用户(Oracle 模式下对应「用户」语义)关联的规则;与 MySQL 模式下的FROM DATABASE/IN DATABASE相对应,Oracle 模式使用FROM USER/IN USER。LIKE 'pattern':按规则名模式过滤。WHERE condition:按结果列过滤,例如rule_name、ENABLED、PROTECTION_POLICY等(具体可引用列以实际返回结果集为准)。
说明
Oracle 模式下请使用 FROM USER / IN USER 指定用户维度;其角色与 MySQL 模式下的 FROM DATABASE / IN DATABASE 相对应,请勿与 MySQL 语法混用。
注意
Oracle 模式下不支持通过 SHOW GRANTS 查看与敏感数据保护规则相关的权限信息。
参数解释
| 参数 | 描述 |
|---|---|
| TABLE STATUS | 展示当前用户中所有表的详细信息。 |
| VARIABLES [like 'variable_name'] | 显示变量信息。如果不指定 like 'variable_name',则显示所有系统变量信息。variable_name 为变量名称。 |
| CHARSET | CHARACTER SET | 展示支持的字符集。 |
| COLLATION | 展示支持的字符序。 |
| PARAMETERS | 展示所有系统配置项。 |
| TABLEGROUPS | 展示表组信息。 |
| CREATE TABLEGROUP tablegroup_name | 查看创建表组的语句。tablegroup_name 为表组名称。 |
| CREATE TABLE table_name | 查看创建表的语句。table_name 为表名。 |
| CREATE VIEW view_name | 查看创建视图的语句。view_name 为视图名称。 |
| ERRORS | 查看错误信息。 |
| GRANTS | 查看当前用户的权限。 |
| PRIVILEGES | 查看各项权限的描述。 |
| RECYCLEBIN | 查看回收站。 |
| [FULL] PROCESSLIST | 查看当前租户进程列表。具体如下:
说明通过 |
| TRACE [FORMAT='JSON'] | 展示 SQL 语句的执行情况。可以选择以 JSON 的格式输出。 |
| SENSITIVE RULES [show_sensitive_rule_option] | 查看当前租户下的敏感数据保护规则。可选 FROM/IN 限定表或 schema.table、USER user_name,并可配合 LIKE、WHERE 筛选;详见上文「show_sensitive_rule_option」展开说明。 |
| FILES IN LOCATION @location_name['/path'] [PATTERN = 'regex_pattern'] | 用于查看 Location 下存在的文件。
说明
|
示例
查看表
tbl1的创建信息。obclient> CREATE TABLE employees ( emp_id INT PRIMARY KEY, emp_name VARCHAR(50) NOT NULL, hire_date DATE, salary NUMBER(10,2), department VARCHAR(30) ); obclient> SHOW CREATE TABLE employees;查看回收站是否开启。
obclient> SHOW VARIABLES LIKE 'recyclebin';查看回收站中的内容。
obclient> SHOW RECYCLEBIN;使用
SHOW TRACE查看某一 SQL 的执行信息,并以 JSON 的格式输出。obclient> SET ob_enable_show_trace = 1; obclient> CREATE TABLE space_travelers ( astronaut_id INT PRIMARY KEY, mission_code VARCHAR(50) NOT NULL, launch_date DATE, flight_hours NUMBER(10,2), space_station VARCHAR(30) ); obclient> INSERT INTO space_travelers VALUES(1, 'APOLLO-11', TO_DATE('1969-07-16', 'YYYY-MM-DD'), 195.5, 'MOON'); obclient> INSERT INTO space_travelers VALUES(2, 'ISS-EXP-1', TO_DATE('2000-11-02', 'YYYY-MM-DD'), 4320.8, 'ISS'); obclient> SELECT/*+PARALLEL(2)*/ COUNT(*) FROM space_travelers; obclient> SHOW TRACE FORMAT='JSON'\G