INSERT
Add or update columns.
Add or update columns.
Synopsis
INSERT INTO keyspace_name.table_name ( column_name, column_name...) VALUES ( value, value ... ) USING option AND option
identifier is a column or a collection name.
Value is one of:
- a literal
- a set
{ literal, literal, . . . }
- a list
[ literal, literal, . . . ]
- a map collection, a JSON-style array of literals
{ literal : literal, literal : literal, . . . }
option is one of:
- TIMESTAMP microseconds
- TTL seconds
A semicolon that terminates CQL statements is not included in the synopsis. |
Description
An INSERT writes one or more columns to a record in a Cassandra table atomically and in isolation. No results are returned. You do not have to define all columns, except those that make up the key. Missing columns occupy no space on disk.
If the column exists, it is updated. You can qualify table names by keyspace. INSERT does not support counters, but UPDATE does. Internally, the insert and update operation are identical.
- Time-to-live ( TTL ) in seconds
- Timestamp in microseconds
INSERT INTO Hollywood.NerdMovies (user_uuid, fan) VALUES (cfd66ccc-d857-4e90-b1e5-df98a3d40cd6, 'johndoe') USING TTL 86400;
TTL input is in seconds. TTL column values are automatically marked as deleted (with a tombstone) after the requested amount of time has expired. TTL marks the inserted values, not the column itself, for expiration. Any subsequent update of the column resets the TTL to the TTL specified in the update. By default, values never expire.
The TIMESTAMP input is in microseconds. If not specified, the time (in microseconds) that the write occurred to the column is used.
Using a collection set or map
INSERT INTO users (user_id, first_name, last_name, emails) VALUES('frodo', 'Frodo', 'Baggins', {'f@baggins.com', 'baggins@gmail.com'});
INSERT INTO users (user_id, todo ) VALUES('frodo', {'2012-10-2 12:10' : 'die' } );