Using a CQL 3 query
A CQL 3 query resembles a SQL query to a greater extent than a CQL 2 query.
A CQL 3 query resembles a SQL query to a greater extent than a CQL 2 query. CQL 3 no longer uses the REVERSE keyword, for example.
In the example of the GET command, and in CLI output in general, there is a timestamp value that doesn't appear in the CQL 3 output.
This timestamp represents the date/time that a write occurred to a columns. In CQL 3, you use WRITETIME in the select expression to get this timestamp. For example, to get the date/times that a write occurred to the body column:
SELECT WRITETIME (title ) FROM songs WHERE id = 8a172618-b121-4136-bb10-f665cfc469eb;
writetime (title ) ------------------ 1353890782373000
The output in microseconds shows the write time of the data in the title column of the songs table.
When you use CQL 3 to query legacy tables with no column names defined for data within a partition, CQL 3 generates the names (column1 and value1) for the data. Using the CQL RENAME clause, you can change the default name to a more meaningful name.
ALTER TABLE users RENAME key to user_id;
CQL 3 supports dynamic tables created in the Thrift API, CLI, and earlier CQL versions. For example, a dynamic table is represented and queried like this in CQL 3:
CREATE TABLE clicks ( userid uuid, url text, timestamp date PRIMARY KEY (userid, url ) ) WITH COMPACT STORAGE; SELECT url, timestamp FROM clicks WHERE userid = 148e9150-1dd2-11b2-0000-242d50cf1fff; SELECT timestamp FROM clicks WHERE userid = 148e9150-1dd2-11b2-0000-242d50cf1fff AND url = 'http://google.com';
In these queries, only equality conditions are valid.