USE

This page documents the preview version (v2.23). Preview includes features under active development and is for development and testing only. For production, use the stable version (v2024.1). To learn more, see Versioning.

Synopsis

Use the USE statement to specify a default keyspace for the current client session. When a database object (such as table or type) name does not identify a keyspace, this default keyspace is used.

Syntax

Diagram

USEkeyspace_name

Grammar

use_keyspace ::= USE keyspace_name;

Where

  • keyspace_name must be an identifier that cannot be any reserved keyword and cannot contains whitespaces, or it has to be double-quoted.

Semantics

  • If the specified keyspace does not exist, an error is raised.
  • Any unqualified table or type name will use the current default keyspace (or raise an error if no keyspace is set).

Examples

Create and use keyspaces

ycqlsh> CREATE KEYSPACE example;
ycqlsh> CREATE KEYSPACE other_keyspace;
ycqlsh> USE example;

Create a table in the current keyspace

ycqlsh:example> CREATE TABLE test(id INT PRIMARY KEY);
ycqlsh:example> INSERT INTO test(id) VALUES (1);
ycqlsh:example> SELECT * FROM test;
 id
----
  1

Create a table in another keyspace

ycqlsh:example> CREATE TABLE other_keyspace.test(id INT PRIMARY KEY);
ycqlsh:example> INSERT INTO other_keyspace.test(id) VALUES (2);
ycqlsh:example> SELECT * FROM other_keyspace.test;
 id
----
  2

See also