Apache Cassandra is an open-source, distributed, decentralized, elastically scalable, highly available, fault-tolerant, a column-oriented database that bases its distribution design on Amazon’s Dynamo and its data model on Google’s Bigtable.
CQL provides the facility of using Collection data types. Using these Collection types, you can store multiple values in a single variable.
The list is used in the cases where
You can get the values of a list of data types using the index of the elements in the list.
Given below is an example to create a sample table with two columns, name and email. To store multiple emails, we are using a list.
cqlsh:tutorialspoint> CREATE TABLE data(name text PRIMARY KEY, email list);
While inserting data into the elements in a list, enter all the values separated by a comma within square braces [ ] as shown below.
cqlsh:tutorialspoint> INSERT INTO data(name, email) VALUES ('ramu', ['abc@gmail.com','cba@yahoo.com'])
Inclined to build a profession as Cassandra Developer? Then here is the blog post on Apache Cassandra Training.
Given below is an example to update the list data type in a table called data. Here we are adding another email to the list.
cqlsh:tutorialspoint> UPDATE data ... SET email = email +['xyz@tutorialspoint.com'] ... where name = 'ramu';
If you verify the table using a SELECT statement, you will get the following result:
cqlsh:tutorialspoint> SELECT * FROM data; name | email ------+-------------------------------------------------------------- ramu | ['abc@gmail.com', 'cba@yahoo.com', 'xyz@tutorialspoint.com'] (1 rows)
Set is a data type that is used to store a group of elements. The elements of a set will be returned in sorted order.
The following example creates a sample table with two columns, name and phone. For storing multiple phone numbers, we are using a set.
cqlsh:tutorialspoint> CREATE TABLE data2 (name text PRIMARY KEY, phone set<varint>);
While inserting data into the elements in a set, enter all the values separated by a comma within curly braces { } as shown below.
cqlsh:tutorialspoint> INSERT INTO data2(name, phone)VALUES ('rahman', {9848022338,9848022339});
The following code shows how to update a set in a table named data2. Here we are adding another phone number to the set.
cqlsh:tutorialspoint> UPDATE data2 ... SET phone = phone + {9848022330} ... where name = 'rahman';
If you verify the table using a SELECT statement, you will get the following result:
cqlsh:xyz> SELECT * FROM data2; name | phone --------+-------------------------------------- rahman | {9848022330, 9848022338, 9848022339}(1 rows)
A map is a data type that is used to store a key-value pair of elements.
The following example shows how to create a sample table with two columns, name and address. For storing multiple address values, we are using map.
cqlsh:xyz> CREATE TABLE data3 (name text PRIMARY KEY, address map<timestamp, text>);
While inserting data into the elements in a map, enter all the key: value pairs separated by a comma within curly braces { } as shown below.
cqlsh:xyz> INSERT INTO data3 (name, address) VALUES ('robin', {'home' : 'hyderabad' , 'office' : 'Delhi' } );
The following code shows how to update the map data type in a table named data3. Here we are changing the value of the key office, that is, we are changing the office address of a person named robin.
cqlsh:xy> UPDATE data3 ... SET address = address+{'office':'mumbai'} ... WHERE name = 'robin';
If you verify the table using a SELECT statement, you will get the following result:
cqlsh:xyz> select * from data3; name | address -------+------------------------------------------- robin | {'home': 'hyderabad', 'office': 'mumbai'}(1 rows)
You liked the article?
Like: 0
Vote for difficulty
Current difficulty (Avg): Medium
TekSlate is the best online training provider in delivering world-class IT skills to individuals and corporates from all parts of the globe. We are proven experts in accumulating every need of an IT skills upgrade aspirant and have delivered excellent services. We aim to bring you all the essentials to learn and master new technologies in the market with our articles, blogs, and videos. Build your career success with us, enhancing most in-demand skills in the market.