SHOW Statements
SHOW statements are used to list objects within their corresponding parent, such as catalogs, databases, tables and views, columns, functions, and modules. See the individual commands for more details and additional options.
SHOW CREATE statements are used to print a DDL statement with which a given object can be created. The currently ‘SHOW CREATE’ statement is only available in printing DDL statement of the given table and view.
Flink SQL supports the following SHOW statements for now:
- SHOW CATALOGS
- SHOW CURRENT CATALOG
- SHOW DATABASES
- SHOW CURRENT DATABASE
- SHOW TABLES
- SHOW CREATE TABLE
- SHOW COLUMNS
- SHOW VIEWS
- SHOW CREATE VIEW
- SHOW FUNCTIONS
- SHOW MODULES
- SHOW JARS
Run a SHOW statement
Java
SHOW statements can be executed with the executeSql() method of the TableEnvironment. The executeSql() method returns objects for a successful SHOW operation, otherwise will throw an exception.
The following examples show how to run a SHOW statement in TableEnvironment.
Scala
SHOW statements can be executed with the executeSql() method of the TableEnvironment. The executeSql() method returns objects for a successful SHOW operation, otherwise will throw an exception.
The following examples show how to run a SHOW statement in TableEnvironment.
Python
SHOW statements can be executed with the execute_sql() method of the TableEnvironment. The execute_sql() method returns objects for a successful SHOW operation, otherwise will throw an exception.
The following examples show how to run a SHOW statement in TableEnvironment.
SQL CLI
SHOW statements can be executed in SQL CLI.
The following examples show how to run a SHOW statement in SQL CLI.
Java
StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();StreamTableEnvironment tEnv = StreamTableEnvironment.create(env);// show catalogstEnv.executeSql("SHOW CATALOGS").print();// +-----------------+// | catalog name |// +-----------------+// | default_catalog |// +-----------------+// show current catalogtEnv.executeSql("SHOW CURRENT CATALOG").print();// +----------------------+// | current catalog name |// +----------------------+// | default_catalog |// +----------------------+// show databasestEnv.executeSql("SHOW DATABASES").print();// +------------------+// | database name |// +------------------+// | default_database |// +------------------+// show current databasetEnv.executeSql("SHOW CURRENT DATABASE").print();// +-----------------------+// | current database name |// +-----------------------+// | default_database |// +-----------------------+// create a tabletEnv.executeSql("CREATE TABLE my_table (...) WITH (...)");// show tablestEnv.executeSql("SHOW TABLES").print();// +------------+// | table name |// +------------+// | my_table |// +------------+// show create tabletEnv.executeSql("SHOW CREATE TABLE my_table").print();// CREATE TABLE `default_catalog`.`default_db`.`my_table` (// ...// ) WITH (// ...// )// show columnstEnv.executeSql("SHOW COLUMNS FROM my_table LIKE '%f%'").print();// +--------+-------+------+-----+--------+-----------+// | name | type | null | key | extras | watermark |// +--------+-------+------+-----+--------+-----------+// | field2 | BYTES | true | | | |// +--------+-------+------+-----+--------+-----------+// create a viewtEnv.executeSql("CREATE VIEW my_view AS SELECT * FROM my_table");// show viewstEnv.executeSql("SHOW VIEWS").print();// +-----------+// | view name |// +-----------+// | my_view |// +-----------+// show create viewtEnv.executeSql("SHOW CREATE VIEW my_view").print();// CREATE VIEW `default_catalog`.`default_db`.`my_view`(`field1`, `field2`, ...) as// SELECT *// FROM `default_catalog`.`default_database`.`my_table`// show functionstEnv.executeSql("SHOW FUNCTIONS").print();// +---------------+// | function name |// +---------------+// | mod |// | sha256 |// | ... |// +---------------+// create a user defined functiontEnv.executeSql("CREATE FUNCTION f1 AS ...");// show user defined functionstEnv.executeSql("SHOW USER FUNCTIONS").print();// +---------------+// | function name |// +---------------+// | f1 |// | ... |// +---------------+// show modulestEnv.executeSql("SHOW MODULES").print();// +-------------+// | module name |// +-------------+// | core |// +-------------+// show full modulestEnv.executeSql("SHOW FULL MODULES").print();// +-------------+-------+// | module name | used |// +-------------+-------+// | core | true |// | hive | false |// +-------------+-------+
Scala
val env = StreamExecutionEnvironment.getExecutionEnvironment()val tEnv = StreamTableEnvironment.create(env)// show catalogstEnv.executeSql("SHOW CATALOGS").print()// +-----------------+// | catalog name |// +-----------------+// | default_catalog |// +-----------------+// show databasestEnv.executeSql("SHOW DATABASES").print()// +------------------+// | database name |// +------------------+// | default_database |// +------------------+// create a tabletEnv.executeSql("CREATE TABLE my_table (...) WITH (...)")// show tablestEnv.executeSql("SHOW TABLES").print()// +------------+// | table name |// +------------+// | my_table |// +------------+// show create tabletEnv.executeSql("SHOW CREATE TABLE my_table").print()// CREATE TABLE `default_catalog`.`default_db`.`my_table` (// ...// ) WITH (// ...// )// show columnstEnv.executeSql("SHOW COLUMNS FROM my_table LIKE '%f%'").print()// +--------+-------+------+-----+--------+-----------+// | name | type | null | key | extras | watermark |// +--------+-------+------+-----+--------+-----------+// | field2 | BYTES | true | | | |// +--------+-------+------+-----+--------+-----------+// create a viewtEnv.executeSql("CREATE VIEW my_view AS SELECT * FROM my_table")// show viewstEnv.executeSql("SHOW VIEWS").print()// +-----------+// | view name |// +-----------+// | my_view |// +-----------+// show create viewtEnv.executeSql("SHOW CREATE VIEW my_view").print();// CREATE VIEW `default_catalog`.`default_db`.`my_view`(`field1`, `field2`, ...) as// SELECT *// FROM `default_catalog`.`default_database`.`my_table`// show functionstEnv.executeSql("SHOW FUNCTIONS").print()// +---------------+// | function name |// +---------------+// | mod |// | sha256 |// | ... |// +---------------+// create a user defined functiontEnv.executeSql("CREATE FUNCTION f1 AS ...")// show user defined functionstEnv.executeSql("SHOW USER FUNCTIONS").print()// +---------------+// | function name |// +---------------+// | f1 |// | ... |// +---------------+// show modulestEnv.executeSql("SHOW MODULES").print()// +-------------+// | module name |// +-------------+// | core |// +-------------+// show full modulestEnv.executeSql("SHOW FULL MODULES").print()// +-------------+-------+// | module name | used |// +-------------+-------+// | core | true |// | hive | false |// +-------------+-------+
Python
table_env = StreamTableEnvironment.create(...)# show catalogstable_env.execute_sql("SHOW CATALOGS").print()# +-----------------+# | catalog name |# +-----------------+# | default_catalog |# +-----------------+# show databasestable_env.execute_sql("SHOW DATABASES").print()# +------------------+# | database name |# +------------------+# | default_database |# +------------------+# create a tabletable_env.execute_sql("CREATE TABLE my_table (...) WITH (...)")# show tablestable_env.execute_sql("SHOW TABLES").print()# +------------+# | table name |# +------------+# | my_table |# +------------+# show create tabletable_env.executeSql("SHOW CREATE TABLE my_table").print()# CREATE TABLE `default_catalog`.`default_db`.`my_table` (# ...# ) WITH (# ...# )# show columnstable_env.execute_sql("SHOW COLUMNS FROM my_table LIKE '%f%'").print()# +--------+-------+------+-----+--------+-----------+# | name | type | null | key | extras | watermark |# +--------+-------+------+-----+--------+-----------+# | field2 | BYTES | true | | | |# +--------+-------+------+-----+--------+-----------+# create a viewtable_env.execute_sql("CREATE VIEW my_view AS SELECT * FROM my_table")# show viewstable_env.execute_sql("SHOW VIEWS").print()# +-----------+# | view name |# +-----------+# | my_view |# +-----------+# show create viewtable_env.execute_sql("SHOW CREATE VIEW my_view").print()# CREATE VIEW `default_catalog`.`default_db`.`my_view`(`field1`, `field2`, ...) as# SELECT *# FROM `default_catalog`.`default_database`.`my_table`# show functionstable_env.execute_sql("SHOW FUNCTIONS").print()# +---------------+# | function name |# +---------------+# | mod |# | sha256 |# | ... |# +---------------+# create a user defined functiontable_env.execute_sql("CREATE FUNCTION f1 AS ...")# show user defined functionstable_env.execute_sql("SHOW USER FUNCTIONS").print()# +---------------+# | function name |# +---------------+# | f1 |# | ... |# +---------------+# show modulestable_env.execute_sql("SHOW MODULES").print()# +-------------+# | module name |# +-------------+# | core |# +-------------+# show full modulestable_env.execute_sql("SHOW FULL MODULES").print()# +-------------+-------+# | module name | used |# +-------------+-------+# | core | true |# | hive | false |# +-------------+-------+
SQL CLI
Flink SQL> SHOW CATALOGS;default_catalogFlink SQL> SHOW DATABASES;default_databaseFlink SQL> CREATE TABLE my_table (...) WITH (...);[INFO] Table has been created.Flink SQL> SHOW TABLES;my_tableFlink SQL> SHOW CREATE TABLE my_table;CREATE TABLE `default_catalog`.`default_db`.`my_table` (...) WITH (...)Flink SQL> SHOW COLUMNS from MyUserTable LIKE '%f%';+--------+-------+------+-----+--------+-----------+| name | type | null | key | extras | watermark |+--------+-------+------+-----+--------+-----------+| field2 | BYTES | true | | | |+--------+-------+------+-----+--------+-----------+1 row in setFlink SQL> CREATE VIEW my_view AS SELECT * from my_table;[INFO] View has been created.Flink SQL> SHOW VIEWS;my_viewFlink SQL> SHOW CREATE VIEW my_view;CREATE VIEW `default_catalog`.`default_db`.`my_view`(`field1`, `field2`, ...) asSELECT *FROM `default_catalog`.`default_database`.`my_table`Flink SQL> SHOW FUNCTIONS;modsha256...Flink SQL> CREATE FUNCTION f1 AS ...;[INFO] Function has been created.Flink SQL> SHOW USER FUNCTIONS;f1...Flink SQL> SHOW MODULES;+-------------+| module name |+-------------+| core |+-------------+1 row in setFlink SQL> SHOW FULL MODULES;+-------------+------+| module name | used |+-------------+------+| core | true |+-------------+------+1 row in setFlink SQL> SHOW JARS;/path/to/addedJar.jar
SHOW CATALOGS
SHOW CATALOGS
Show all catalogs.
SHOW CURRENT CATALOG
SHOW CURRENT CATALOG
Show current catalog.
SHOW DATABASES
SHOW DATABASES
Show all databases in the current catalog.
SHOW CURRENT DATABASE
SHOW CURRENT DATABASE
Show current database.
SHOW TABLES
SHOW TABLES [ ( FROM | IN ) [catalog_name.]database_name ] [ [NOT] LIKE <sql_like_pattern> ]
Show all tables for an optionally specified database. If no database is specified then the tables are returned from the current database. Additionally, the output of this statement may be filtered by an optional matching pattern.
LIKE Show all tables with given table name and optional LIKE clause, whose name is whether similar to the <sql_like_pattern>.
The syntax of sql pattern in LIKE clause is the same as that of MySQL dialect.
%matches any number of characters, even zero characters,\%matches one%character._matches exactly one character,\_matches one_character.
SHOW TABLES EXAMPLES
Assumes that the db1 database located in catalog1 catalog has the following tables:
- person
- dim
the current database in session has the following tables:
- fights
orders
Shows all tables of the given database.
show tables from db1;-- show tables from catalog1.db1;-- show tables in db1;-- show tables in catalog1.db1;+------------+| table name |+------------+| dim || person |+------------+2 rows in set
- Shows all tables of the given database, which are similar to the given sql pattern.
show tables from db1 like '%n';-- show tables from catalog1.db1 like '%n';-- show tables in db1 like '%n';-- show tables in catalog1.db1 like '%n';+------------+| table name |+------------+| person |+------------+1 row in set
- Shows all tables of the given database, which are not similar to the given sql pattern.
show tables from db1 not like '%n';-- show tables from catalog1.db1 not like '%n';-- show tables in db1 not like '%n';-- show tables in catalog1.db1 not like '%n';+------------+| table name |+------------+| dim |+------------+1 row in set
- Shows all tables of the current database.
show tables;+------------+| table name |+------------+| items || orders |+------------+2 rows in set
SHOW CREATE TABLE
SHOW CREATE TABLE
Show create table statement for specified table.
Attention Currently SHOW CREATE TABLE only supports table that is created by Flink SQL DDL.
SHOW COLUMNS
SHOW COLUMNS ( FROM | IN ) [[catalog_name.]database.]<table_name> [ [NOT] LIKE <sql_like_pattern>]
Show all columns of the table with given table name and optional like clause.
LIKE Show all columns of the table with given table name and optional LIKE clause, whose name is whether similar to the <sql_like_pattern>.
The syntax of sql pattern in LIKE clause is the same as that of MySQL dialect.
SHOW COLUMNS EXAMPLES
Assumes that the table named orders in the database1 database which is located in the catalog1 catalog has the following structure:
+---------+-----------------------------+-------+-----------+---------------+----------------------------+| name | type | null | key | extras | watermark |+---------+-----------------------------+-------+-----------+---------------+----------------------------+| user | BIGINT | false | PRI(user) | | || product | VARCHAR(32) | true | | | || amount | INT | true | | | || ts | TIMESTAMP(3) *ROWTIME* | true | | | `ts` - INTERVAL '1' SECOND || ptime | TIMESTAMP_LTZ(3) *PROCTIME* | false | | AS PROCTIME() | |+---------+-----------------------------+-------+-----------+---------------+----------------------------+
- Shows all columns of the given table.
show columns from orders;-- show columns from database1.orders;-- show columns from catalog1.database1.orders;-- show columns in orders;-- show columns in database1.orders;-- show columns in catalog1.database1.orders;+---------+-----------------------------+-------+-----------+---------------+----------------------------+| name | type | null | key | extras | watermark |+---------+-----------------------------+-------+-----------+---------------+----------------------------+| user | BIGINT | false | PRI(user) | | || product | VARCHAR(32) | true | | | || amount | INT | true | | | || ts | TIMESTAMP(3) *ROWTIME* | true | | | `ts` - INTERVAL '1' SECOND || ptime | TIMESTAMP_LTZ(3) *PROCTIME* | false | | AS PROCTIME() | |+---------+-----------------------------+-------+-----------+---------------+----------------------------+5 rows in set
- Shows all columns of the given table, which are similar to the given sql pattern.
show columns from orders like '%r';-- show columns from database1.orders like '%r';-- show columns from catalog1.database1.orders like '%r';-- show columns in orders like '%r';-- show columns in database1.orders like '%r';-- show columns in catalog1.database1.orders like '%r';+------+--------+-------+-----------+--------+-----------+| name | type | null | key | extras | watermark |+------+--------+-------+-----------+--------+-----------+| user | BIGINT | false | PRI(user) | | |+------+--------+-------+-----------+--------+-----------+1 row in set
- Shows all columns of the given table, which are not similar to the given sql pattern.
show columns from orders not like '%_r';-- show columns from database1.orders not like '%_r';-- show columns from catalog1.database1.orders not like '%_r';-- show columns in orders not like '%_r';-- show columns in database1.orders not like '%_r';-- show columns in catalog1.database1.orders not like '%_r';+---------+-----------------------------+-------+-----+---------------+----------------------------+| name | type | null | key | extras | watermark |+---------+-----------------------------+-------+-----+---------------+----------------------------+| product | VARCHAR(32) | true | | | || amount | INT | true | | | || ts | TIMESTAMP(3) *ROWTIME* | true | | | `ts` - INTERVAL '1' SECOND || ptime | TIMESTAMP_LTZ(3) *PROCTIME* | false | | AS PROCTIME() | |+---------+-----------------------------+-------+-----+---------------+----------------------------+4 rows in set
SHOW VIEWS
SHOW VIEWS
Show all views in the current catalog and the current database.
SHOW CREATE VIEW
SHOW CREATE VIEW [catalog_name.][db_name.]view_name
Show create view statement for specified view.
SHOW FUNCTIONS
SHOW [USER] FUNCTIONS
Show all functions including system functions and user-defined functions in the current catalog and current database.
USER Show only user-defined functions in the current catalog and current database.
SHOW MODULES
SHOW [FULL] MODULES
Show all enabled module names with resolution order.
FULL Show all loaded modules and enabled status with resolution order.
SHOW JARS
SHOW JARS
Show all added jars in the session classloader which are added by ADD JAR statements.
Attention Currently SHOW JARS only works in the SQL CLI.