SHOW TABLE METADATA 语法用于查询表的元数据。
ShowTableMetadata ::=
'SHOW' 'TABLE' 'METADATA' tableName (',' tableName)* ('FROM' databaseName)?
tableName ::=
distSQLIdentifier
databaseName ::=
distSQLIdentifier
distSQLIdentifier ::=
identifier | quotedIdentifier
quotedIdentifier ::=
'`' identifier '`' | '"' identifier '"'
| 列 | 说明 |
|---|---|
| database_name | 逻辑库名称 |
| table_name | 表名称 |
| type | 元数据类型 |
| name | 元数据名称 |
| value | 元数据值 |
未指定 databaseName 时,默认是当前使用的 DATABASE。如果也未使用 DATABASE 则会提示 No database selected。
tableName 和 databaseName 可以写成不带引号的标识符、反引号包裹的标识符或双引号包裹的标识符。
SHOW TABLE METADATA t_order, `t_order_1` FROM "sharding_db";
mysql> SHOW TABLE METADATA t_order, t_order_1 FROM sharding_db;
+---------------+------------+--------+----------+---------------------------+
| database_name | table_name | type | name | value |
+---------------+------------+--------+----------+---------------------------+
| sharding_db | t_order_1 | COLUMN | order_id | {"name":"order_id",...} |
| sharding_db | t_order_1 | COLUMN | user_id | {"name":"user_id",...} |
| sharding_db | t_order_1 | COLUMN | status | {"name":"status",...} |
| sharding_db | t_order_1 | INDEX | PRIMARY | {"name":"PRIMARY",...} |
| sharding_db | t_order | COLUMN | order_id | {"name":"order_id",...} |
| sharding_db | t_order | COLUMN | user_id | {"name":"user_id",...} |
| sharding_db | t_order | COLUMN | status | {"name":"status",...} |
| sharding_db | t_order | INDEX | PRIMARY | {"name":"PRIMARY",...} |
+---------------+------------+--------+----------+---------------------------+
8 rows in set (0.01 sec)
SHOW TABLE METADATA "t_order" FROM `sharding_db`;
mysql> SHOW TABLE METADATA t_order FROM sharding_db;
+---------------+------------+--------+----------+---------------------------+
| database_name | table_name | type | name | value |
+---------------+------------+--------+----------+---------------------------+
| sharding_db | t_order | COLUMN | order_id | {"name":"order_id",...} |
| sharding_db | t_order | COLUMN | user_id | {"name":"user_id",...} |
| sharding_db | t_order | COLUMN | status | {"name":"status",...} |
| sharding_db | t_order | INDEX | PRIMARY | {"name":"PRIMARY",...} |
+---------------+------------+--------+----------+---------------------------+
4 rows in set (0.00 sec)
SHOW TABLE METADATA `t_order`, "t_order_1";
mysql> SHOW TABLE METADATA t_order, t_order_1;
+---------------+------------+--------+----------+---------------------------+
| database_name | table_name | type | name | value |
+---------------+------------+--------+----------+---------------------------+
| sharding_db | t_order_1 | COLUMN | order_id | {"name":"order_id",...} |
| sharding_db | t_order_1 | COLUMN | user_id | {"name":"user_id",...} |
| sharding_db | t_order_1 | COLUMN | status | {"name":"status",...} |
| sharding_db | t_order_1 | INDEX | PRIMARY | {"name":"PRIMARY",...} |
| sharding_db | t_order | COLUMN | order_id | {"name":"order_id",...} |
| sharding_db | t_order | COLUMN | user_id | {"name":"user_id",...} |
| sharding_db | t_order | COLUMN | status | {"name":"status",...} |
| sharding_db | t_order | INDEX | PRIMARY | {"name":"PRIMARY",...} |
+---------------+------------+--------+----------+---------------------------+
8 rows in set (0.00 sec)
SHOW TABLE METADATA "t_order";
mysql> SHOW TABLE METADATA t_order;
+---------------+------------+--------+----------+---------------------------+
| database_name | table_name | type | name | value |
+---------------+------------+--------+----------+---------------------------+
| sharding_db | t_order | COLUMN | order_id | {"name":"order_id",...} |
| sharding_db | t_order | COLUMN | user_id | {"name":"user_id",...} |
| sharding_db | t_order | COLUMN | status | {"name":"status",...} |
| sharding_db | t_order | INDEX | PRIMARY | {"name":"PRIMARY",...} |
+---------------+------------+--------+----------+---------------------------+
4 rows in set (0.01 sec)
SHOW、TABLE、METADATA、FROM
