USE <database_name> Statement in Confluent Cloud for Apache Flink¶
Confluent Cloud for Apache Flink® enables setting the current Apache Kafka® cluster with the
USE <database_name>
statement.
Syntax¶
USE database_name;
Description¶
Set the current database (Kafka cluster). The USE <database_name>
statement
enables you to access tables in various databases without specifying the full
paths.
In Confluent Cloud, Apache Flink® databases are equivalent to Kafka clusters. All Kafka clusters in the region where Flink is running are registered automatically as databases and can be accessed by Flink, when using the correct catalog/environment.
All subsequent commands that don’t specify a database use <database_name>
.
If <database_name>
doesn’t exist, Flink throws an exception on the
next DML or DDL statement.
Important
USE <database_name>
is a client-side setting statement and sets
corresponding properties that are attached to future requests.
By itself, a USE <database_name>
statement is a no-op. To see its effect,
you must follow it with one or more DML or DDL statements, for example:
-- Set the current catalog (environment).
USE CATALOG my_env;
-- Set the current database (Kafka cluster).
USE cluster_0;
-- Submit a DDL statement.
SELECT * FROM my_table;
Run the USE CATALOG statement to set the current Flink catalog (Confluent Cloud environment).
USE database_name in Cloud Console workspaces¶
When you run the USE <database_name>
statement in a Cloud Console
workspace, it sets the database that will be used in any subsequent CREATE
statement requests for the specific editor cell. Different cells can use
different databases within the same workspace.
The <database_name>
parameter is unquoted, for example, USE database1;
.
Any USE statements within an editor cell take precedence over the settings in the workspace’s global catalog and database dropdown controls.
Example¶
In the Flink SQL shell, run the following commands to see an example of the
USE <database_name>
statement.
View the existing databases.
SHOW DATABASES;
Your output should resemble:
+---------------+-------------+ | database name | database id | +---------------+-------------+ | cluster_0 | lkc-a123c4 | +---------------+-------------+
Set the current database to
cluster_0
.USE cluster_0;
Your output should resemble:
+----------------------+-----------+ | Key | Value | +----------------------+-----------+ | sql.current-database | cluster_0 | +----------------------+-----------+
Run the SHOW CURRENT DATABASE to check the database change.
SHOW CURRENT DATABASE;
Your output should resemble:
+-----------------------+ | current database name | +-----------------------+ | cluster_0 | +-----------------------+