CQL quick reference
A consolidated syntax list of Cassandra Query Language (CQL) commands for quick reference.
- ALTER TABLE
-
ALTER TABLE [<keyspace_name>.]<table_name> [ ADD ( <column_definition> | <column_definition_list> ) [ , ... ] ] [ DROP <column_name> [ , ... ] ] [ [ RENAME <column_name> TO <column_name> ] | [ RENAME ( VERTEX LABEL | EDGE LABEL ) TO <new_name> ] ] [ WITH <table_properties> [ , ... ] ] [ WITH ( VERTEX LABEL | EDGE LABEL ) <current_name> ] [ WITHOUT ( VERTEX LABEL | EDGE LABEL ) <current_name> ]; - ALTER TYPE
-
ALTER TYPE <field_name> ( ADD <field_name> <cql_datatype> | RENAME <field_name> TO <<<new_field_name> [ AND <field_name> TO <new_field_name> ...] ) ; - BATCH
-
BEGIN [ ( UNLOGGED | LOGGED ) ] BATCH [ USING TIMESTAMP [ <epoch_microseconds> ] ] <dml_statement> [ USING TIMESTAMP [ <epoch_microseconds> ] ] ; [ <dml_statement> [ USING TIMESTAMP [ <epoch_microseconds> ] ] [ ; ... ] ] ; APPLY BATCH ; - CREATE INDEX
-
CREATE [CUSTOM] INDEX [ IF NOT EXISTS ] [ <index_name> ] ON [<keyspace_name>.]<table_name> ([ KEYS | VALUES | ENTRIES | FULL] <column_name>) USING <index_type> [ WITH OPTIONS = { <option_map> } ] ; - CREATE TABLE
-
CREATE TABLE [ IF NOT EXISTS ] [<keyspace_name>.]<table_name> ( <column_definition> [ , ... ] | [ PRIMARY KEY (partition_key_column_name, clustering_column_name) ] ) [ AND <table_options> ] [ CLUSTERING ORDER BY [ <clustering_column_name> [ ASC | DESC ] ][ , ... ] ] (1) [ AND ( VERTEX LABEL <vl_name> | EDGE LABEL ) <el_name> FROM <vl_name> TO <vl_name>] [ [ AND ] ID = '<table_hash_tag>' ] ] ; (2)1 The CLUSTERING ORDER BYclause is optional. If not specified, the default isASC.2 The IDclause is not configurable for Astra DB, and it is ignored if specified. - CREATE TYPE
-
CREATE TYPE [ IF NOT EXISTS ] [<keyspace_name>].<type_name> (<field_name> <cql_datatype> [ , <field_name> <cql_datatype> ... ]) ; - DELETE
-
DELETE [ <column_name> [ <term> ] [ , ... ] ] FROM [<keyspace_name>.]<table_name> [ USING TIMESTAMP <timestamp_value> ] WHERE <PK_column_conditions> [ ( IF EXISTS | IF <static_column_conditions> ) ] ; - DROP INDEX
-
DROP INDEX [ IF EXISTS ] [<keyspace_name>.]<index_name> ; - DROP TABLE
-
DROP TABLE [ IF EXISTS ] [<keyspace_name>.]<table_name> ; - DROP TYPE
-
DROP TYPE [ IF EXISTS ] [<keyspace_name>.]<type_name> ; - INSERT
-
INSERT [ JSON ] INTO [<keyspace_name>.]<table_name> [ <column_list> VALUES <column_values> ] [ IF NOT EXISTS ] [ USING [ TTL <seconds> ] [ [ AND ] TIMESTAMP <epoch_in_microseconds> ] ] ; - SELECT
-
SELECT [ JSON | DISTINCT ] <selectors> FROM [<keyspace_name>.]<table_name> [ WHERE [ <primary_key_conditions> | <non_primary_key_conditions> IN (<column_name> [, ...]) ALLOW FILTERING ] [ AND ] [ <index_conditions> ] [ GROUP BY <column_name> [ , ... ] ] [ ORDER BY <column_name> ( ASC | DESC ) [ , ... ] ] | [ ORDER BY <vector_column_name> ANN OF [n,n,n,...] [ LIMIT N ] ] [ ( LIMIT <N> [ OFFSET <N> ] | PER PARTITION LIMIT <N> ) ] [ ALLOW FILTERING ] ; - TRUNCATE
-
TRUNCATE [ TABLE ] [<keyspace_name>.]<table_name> ; - UPDATE
-
UPDATE [<keyspace_name>.]<table_name> [ USING TTL <time_value> ] [ [ AND ] USING TIMESTAMP <timestamp_value> ] SET <assignment> [ , <assignment> ... ] WHERE <row_specification> [ IF EXISTS | IF <condition> [ AND <condition> ] ] ; - USE
-
USE <keyspace_name> ;