You are on page 1of 1

Apache Cassandra Query Language (CQL) 3

REFERENCE GUIDE - P.1


ALTER KEYSPACE
TM ALTER KEYSPACE | SCHEMA keyspace_name WITH REPLICATION = map | WITH DURABLE_WRITES = true | false | WITH REPLICATION = map AND DURABLE_WRITES = true | false

CREATE INDEX

CREATE INDEX index_name ON keyspace_name.table_name (column_name)

CREATE KEYSPACE

CREATE KEYSPACE | SCHEMA keyspace_name WITH REPLICATION = map AND DURABLE_WRITES = true | false The map collection syntax is:

The map collection syntax is: name = { 'name' : value, 'name', value : 'name', value ... } ALTER TABLE ALTER TABLE keyspace_name.table_name (ALTER column_name TYPE built-in_type ADD column_name built-in_type | DROP column_name | RENAME column_name TO column_name | WITH property AND property ...) built-in_type is a type, other than a collection or counter type type, listed in CQL data types. property is a name-value pair of one of the CQL 3 table storage properties or name and map collection. The name-value pair syntax is: name = value AND name = value The map collection syntax is: name = { 'name' : value, 'name', value : 'name', value ... } ALTER USER ALTER USER user_name WITH PASSWORD 'password' NOSUPERUSER | SUPERUSER BEGIN UNLOGGED | COUNTER BATCH USING TIMESTAMP timestamp; dml_statement dml_statement ... APPLY BATCH; dml_statement is: INSERT UPDATE DELETE

{ 'property' : value, 'property', value : 'property', value ... } CREATE TABLE

CREATE TABLE keyspace_name.table_name ( column_definition, column_definition, ...) WITH property AND property ... column_definition is: column_name built-in_type | custom_type | column_name built-in_type | custom_type PRIMARY KEY | PRIMARY KEY ( partition_key ) | column_name collection_type built-in_type is a type, other than a collection or counter type, listed in CQL data types. partition_key is: column_name | ( column_name, column_name . . .) collection_type is: LIST <built-in_type> | SET <built-in_type> | MAP <built-in_type, built-in_type> property is a name-value pair of one of the CQL 3 table storage properties, a map collection, or a directive. The name-value pair property syntax is: name = value AND name = value The map collection syntax is: name = { 'name' : value, 'name', value : 'name', value ... } A directive is either: * COMPACT STORAGE * CLUSTERING ORDER followed by the clustering order specication.

BATCH

LEGEND:

* Uppercase means literal * Lowercase means not literal * Italics mean optional * The pipe (|) symbol means OR or AND/OR * Elipsis (...) means repeatable

Apache Cassandra Query Language (CQL) 3


REFERENCE GUIDE - P.2
CREATE USER
TM CREATE USER user_name WITH PASSWORD 'password' NOSUPERUSER | SUPERUSER

INSERT

DELETE

DELETE column_name, ... | collection_colname [ term ] FROM keyspace_name.table_name USING TIMESTAMP integer WHERE row_specification term is: [ list_index_position | [ list_value ] row_specication is: primary key name = key_value | primary key name IN ( key_value, key_value, ...)

INSERT INTO keyspace_name.table_name ( key_name, column_name, collection_name...) VALUES ( key_value, colvalue, set | list | map ... ) USING TIMESTAMP string | TTL seconds | USING TIMESTAMP string AND TTL seconds set collection is: { 'item1', 'item2', ... } list collection is: [ 'name ','value' ] map collection is: { 'name' : 'value', 'name' : 'value', ...}

DROP INDEX DROP KEYSPACE DROP TABLE DROP USER GRANT

DROP INDEX name DROP KEYSPACE | SCHEMA name DROP TABLE name DROP USER user_name GRANT permission_name PERMISSION | GRANT ALL PERMISSIONS ON resource TO user permission_name is one of these: ALTER AUTHORIZE CREATE DROP MODIFY SELECT

LIST PERMISSIONS

LIST permission_name PERMISSION | LIST ALL PERMISSIONS ON resource OF user_name NORECURSIVE permission_name is one of these: ALTER AUTHORIZE CREATE DROP MODIFY SELECT

resource is one of these: ALL KEYSPACES KEYSPACE keyspace_name TABLE keyspace_name.table_name

LIST USERS

LIST USERS

resource is one of these: ALL KEYSPACES KEYSPACE keyspace_name TABLE keyspace_name.table_name

LEGEND:

* Uppercase means literal * Lowercase means not literal * Italics mean optional * The pipe (|) symbol means OR or AND/OR * Elipsis (...) means repeatable

Apache Cassandra Query Language (CQL) 3


REFERENCE GUIDE - P.3
REVOKE
TM REVOKE permission_name PERMISSION | REVOKE ALL PERMISSIONS ON resource FROM user_name

UPDATE

permission_name is one of these: ALTER AUTHORIZE CREATE DROP MODIFY SELECT

resource is one of these: ALL KEYSPACES KEYSPACE keyspace_name TABLE keyspace_name.table_name

UPDATE keyspace_name.table_name USING write_option AND write_option ... SET column_name = column_value, column_name = column_value, ... | SET counter_column_name = counter_column_name + | - integer | SET set_name = set | SET set_name = set_name + | - set_item | SET list_name = list | SET list_name = [list_item] + | - list_name | SET list_name = list_name + | - [list_item] | SET map_name = map | SET map_name [map-item] = value WHERE row_specification write_option is: TTL seconds TIMESTAMP string | integer set is: { 'item1', 'item2', . . . } list is: [ 'name ','value' ] map is: { 'name' : 'value','name' : 'value', . . . } row_specification is: primary/compound key name = key_value primary/compound key name IN (key_value ,...)

SELECT

SELECT select_expression FROM keyspace_name.table_name WHERE clause AND clause ... LIMIT n ORDER BY compound_key_2 ASC | DESC ALLOW FILTERING LIMIT n select_expression is: col_name , col_name, ...| COUNT(*) | WRITETIME (col_name) | TTL (col_name) | * WHERE clause syntax is: primary_key_name = | < | > | <= | >= key_value | primary_key_name> IN ( key_value,... ) | TOKEN (partitioner_key) > TOKEN('partitioner_key value') AND TOKEN(partitioner_key) < TOKEN('partitioner_key value');

USE

USE keyspace_name | "keyspace_name"

TRUNCATE

TRUNCATE keyspace_name.table_name

LEGEND:

* Uppercase means literal * Lowercase means not literal * Italics mean optional * The pipe (|) symbol means OR or AND/OR * Elipsis (...) means repeatable

Apache Cassandra Query Language (CQL) 3


REFERENCE GUIDE - SUPPORTED DATA TYPES CQL Type
ASCII BIGINT BLOB BOOLEAN COUNTER DECIMAL DOUBLE FLOAT INET INT LIST MAP SET TEXT TIMESTAMP UUID TIMEUUID VARCHAR VARINT

Description

US-ASCII character string 64-bit signed long Arbitrary bytes (no validation), expressed as hexadecimal true or false Distributed counter value (64-bit long) Variable-precision decimal 64-bit IEEE-754 floating point 32-bit IEEE-754 floating point IP address string in xxx.xxx.xxx.xxx form 32-bit signed integer A collection of one or more ordered elements A collection of one or more timestamp, value pairs A collection of one or more elements UTF-8 encoded string Date plus time, encoded as 8 bytes since epoch Type 1 or type 4 UUID in standard UUID format Type 1 UUID only (CQL 3) UTF-8 encoded string Arbitrary-precision integer

Ofce Locations
DATASTAX HQ - SF BAY AREA 777 Mariners Island Blvd #510 San Mateo, CA 94404 650-389-6000 DATASTAX TX 902 East 5th St. #202 Austin, TX 78702 512-537-7809

LEGEND:

* Uppercase means literal * Lowercase means not literal * Italics mean optional * The pipe (|) symbol means OR or AND/OR * Elipsis (...) means repeatable

You might also like