1CQL consists of statements. Like SQL, statements change data, look up data, store data, or change the way data is stored. Statements end in a semicolon (;).
For example, the following is valid CQL syntax:
SELECT * FROM MyTable;
UPDATE MyTable
SET SomeColumn = 'Some Value'
WHERE columnName = 'Something Else';
This is a sequence of two CQL statements. This example shows one statement per line, although a statement can usefully be split across lines as well.
Keyspace, column, and table names created using CQL are case-insensitive unless enclosed in double quotation marks. If you enter names for these objects using any uppercase letters, Cassandra stores the names in lowercase. You can force the case by using double quotation marks.
For example:
CREATE TABLE test (
Foo int PRIMARY KEY,
"Bar" int
);
CQL keywords are case-insensitive. For example, the keywords SELECT and select are equivalent.
2CQL defines built-in data types for columns:
CQL Type | Constants | Description |
---|---|---|
ascii | strings | US-ASCII character string |
bigint | integers | 64-bit signed long |
blob | blobs | Arbitrary bytes (no validation), expressed as hexadecimal |
boolean | booleans | true or false |
counter | integers | Distributed counter value (64-bit long) |
decimal | integers, floats | Variable-precision decimal |
double | integers, floats | 64-bit IEEE-754 floating point |
float | integers, floats | 32-bit IEEE-754 floating point |
inet | strings | IP address string in IPv4 or IPv6 format* |
int | integers | 32-bit signed integer |
list<T> | n/a | A collection of one or more ordered elements, T could be any non-collection CQL data type, such as int, text, etc |
map<K,V> | n/a | A key-value dictionary, K and V could be any non-collection CQL data type, such as int, text, etc |
set<T> | n/a | A collection of one or more elements, T could be any non-collection CQL data type, such as int, text, etc |
text | strings | UTF-8 encoded string |
timestamp | integers, strings | Date plus time, encoded as 8 bytes since epoch |
uuid | uuids | A UUID in standard UUID format |
timeuuid | uuids | Type 1 UUID only |
varchar | strings | UTF-8 encoded string |
varint | integers | Arbitrary-precision integer |
For a complete CQL command reference, see CQL commands.