SHOW
Use the SHOW statement to inspect database objects such as databases, tables, columns, indexes, and user grants.
SHOW DATABASES
List all databases in the current cluster. You can optionally specify a catalog to list the databases that belong to that catalog.
Syntax
SHOW DATABASES [FROM <catalog_name>];
Examples
List all databases in the current catalog (the default catalog is adb):
SHOW DATABASES;
Output:
+--------------------+
| Database |
+--------------------+
| adb_test |
| MYSQL |
| adb_demo |
| INFORMATION_SCHEMA |
+--------------------+
List all databases in an external catalog named paimon_catalog:
SHOW DATABASES FROM paimon_catalog;
Output:
+--------------------+
| Database |
+--------------------+
| paimon_db1 |
| paimon_db2 |
| paimon_demo |
+--------------------+
SHOW TABLES
List all tables in the current database or a specified database.
Syntax
SHOW TABLES [IN db_name];
Example
SHOW TABLES IN adb_demo;
Output:
+--------------------+
| Tables_in_adb_demo |
+--------------------+
| customer |
| json_test |
+--------------------+
SHOW COLUMNS
List all columns in a table, including data type, nullability, key constraints, and default values.
Syntax
SHOW COLUMNS IN db_name.table_name;
Output columns
| Column | Description |
|---|---|
Field |
Column name. |
Type |
Data type of the column, such as int, varchar, or boolean. |
Null |
Whether the column accepts NULL values. YES means it does; NO means it does not. |
Key |
Key constraint. PRI indicates a primary key column. |
Default |
Default value for the column. NULL means no default is set. |
Extra |
Additional attributes. |
Example
SHOW COLUMNS IN adb_demo.customer;
Output:
+---------+---------+------+------+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+---------+------+------+---------+-------+
| id | int | NO | PRI | NULL | |
| name | varchar | YES | | NULL | |
| address | varchar | YES | | NULL | |
| gender | boolean | YES | | NULL | |
+---------+---------+------+------+---------+-------+
SHOW CREATE TABLE
Retrieve the DDL statement used to create a table.
Syntax
SHOW CREATE TABLE db_name.table_name;
Example
SHOW CREATE TABLE adb_demo.customer;
Output:
+----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| customer | Create Table `customer` (
`id` int NOT NULL,
`name` varchar(50),
`address` varchar(80),
`gender` boolean,
primary key (`id`)
) DISTRIBUTED BY HASH(`id`) INDEX_ALL='Y' STORAGE_POLICY='HOT' BLOCK_SIZE=8192 |
+----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
SHOW GRANTS
Query the permissions granted to a user.
Syntax
SHOW GRANTS [FOR 'username'@'hostname'];
| Parameter | Description |
|---|---|
username |
The username to query. |
hostname |
The hostname or IP address of the host. |
Omit FOR 'username'@'hostname' to view the permissions of the current user.
Examples
View permissions of the current user:
SHOW GRANTS;
Output:
+---------------------------------------------------------+
| Grants for adb_acc@% |
+---------------------------------------------------------+
| GRANT ALL ON `*`.`*` TO 'adb_acc'@'%' WITH GRANT OPTION |
+---------------------------------------------------------+
View permissions of a specified user:
SHOW GRANTS FOR 'test'@'%';
Output:
+---------------------------------------------------------+
| Grants for test@% |
+---------------------------------------------------------+
| GRANT ALL ON `*`.`*` TO 'adb'@'%' WITH GRANT OPTION |
+---------------------------------------------------------+
SHOW INDEXES
List all indexes on a table.
Syntax
SHOW INDEXES FROM db_name.table_name;
Example
SHOW INDEXES FROM adb_demo.json_test;
Output. Key_name indicates the name of an index.
+-----------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment |
+-----------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| json_test | 1 | id_0_idx | 1 | id | A | 0 | NULL | NULL | | BTREE | | |
| json_test | 1 | vj_idx | 1 | vj | A | 0 | NULL | NULL | | BTREE | | |
+-----------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+