SHOW TABLE METADATA 语法用于查询表的元数据。
ShowTableMetadata ::=
'SHOW' 'TABLE' 'METADATA' tableName (',' tableName)* ('FROM' databaseName)?
tableName ::=
distSQLIdentifier
databaseName ::=
distSQLIdentifier
distSQLIdentifier ::=
identifier | quotedIdentifier
quotedIdentifier ::=
'`' identifier '`' | '"' identifier '"'
| 列 | 说明 |
|---|---|
| schema_name | 逻辑库名称 |
| table_name | 表名称 |
| type | 元数据类型 |
| name | 元数据名称 |
未指定 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;
+-------------------+------------+--------+----------+
| schema_name | table_name | type | name |
+-------------------+------------+--------+----------+
| sharding_db | t_order_1 | COLUMN | order_id |
| sharding_db | t_order_1 | COLUMN | user_id |
| sharding_db | t_order_1 | COLUMN | status |
| sharding_db | t_order_1 | INDEX | PRIMARY |
| sharding_db | t_order | COLUMN | order_id |
| sharding_db | t_order | COLUMN | user_id |
| sharding_db | t_order | COLUMN | status |
| sharding_db | t_order | INDEX | 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;
+-------------------+------------+--------+----------+
| schema_name | table_name | type | name |
+-------------------+------------+--------+----------+
| sharding_db | t_order | COLUMN | order_id |
| sharding_db | t_order | COLUMN | user_id |
| sharding_db | t_order | COLUMN | status |
| sharding_db | t_order | INDEX | 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;
+-------------------+------------+--------+----------+
| schema_name | table_name | type | name |
+-------------------+------------+--------+----------+
| sharding_db | t_order_1 | COLUMN | order_id |
| sharding_db | t_order_1 | COLUMN | user_id |
| sharding_db | t_order_1 | COLUMN | status |
| sharding_db | t_order_1 | INDEX | PRIMARY |
| sharding_db | t_order | COLUMN | order_id |
| sharding_db | t_order | COLUMN | user_id |
| sharding_db | t_order | COLUMN | status |
| sharding_db | t_order | INDEX | PRIMARY |
+-------------------+------------+--------+----------+
8 rows in set (0.00 sec)
SHOW TABLE METADATA "t_order";
mysql> SHOW TABLE METADATA t_order;
+-------------------+------------+--------+----------+
| schema_name | table_name | type | name |
+-------------------+------------+--------+----------+
| sharding_db | t_order | COLUMN | order_id |
| sharding_db | t_order | COLUMN | user_id |
| sharding_db | t_order | COLUMN | status |
| sharding_db | t_order | INDEX | PRIMARY |
+-------------------+------------+--------+----------+
4 rows in set (0.01 sec)
SHOW、TABLE、METADATA、FROM
