Open In App

Updating column’s in Cassandra

Improve
Improve
Like Article
Like
Save
Share
Report

In this article, we will discuss how we can update the existing columns, how we can add a new column or drop a column in Cassandra, etc.

Updating a column

In Cassandra, to modify a column by executing an ALTER statement. Using ALTER table statement You can change the type of a column, Add a new column, Drop a column, Rename existing column as shown here:

ALTER TABLE [keyspace_name.] table_name 
[ALTER column_name TYPE cql_type]
[ADD (column_definition_list)]
[DROP column_list | COMPACT STORAGE ]
[RENAME column_name TO column_name]
[WITH table_properties];

Now, here if you want to change the column name which has a primary key. for example: In User_Data existing table if you want to change the column name from id to user_id then you can run Rename command.

CREATE TABLE app_data.user_data (
    id UUID PRIMARY KEY,
    address text,
    name text
);

cassandra@cqlsh:app_data> 
select * from User_Data;

 id | address | name
----+---------+------

Now, to change the column name you can execute the following CQL query given below.

cassandra@cqlsh:app_data> 
Alter table User_data RENAME id TO User_id;

Now, to verify the results whether column successfully changed or not then you can execute the following CQL query.

cassandra@cqlsh:app_data> describe User_data;

CREATE TABLE app_data.user_data (
    user_id uuid PRIMARY KEY,
    address text,
    name text
) WITH bloom_filter_fp_chance = 0.01
    AND caching = {'keys': 'ALL', 
                   'rows_per_partition': 'NONE'}
    AND comment = ''
    AND compaction = 
{
'class': 'org.apache.cassandra
          .db.compaction.SizeTieredCompactionStrategy', 
'max_threshold': '32', 'min_threshold': '4'
}
    AND compression = 
{
'chunk_length_in_kb': '64', 
'class': 'org.apache.cassandra
         .io.compress.LZ4Compressor'
}
    AND crc_check_chance = 1.0
    AND dclocal_read_repair_chance = 0.1
    AND default_time_to_live = 0
    AND gc_grace_seconds = 864000
    AND max_index_interval = 2048
    AND memtable_flush_period_in_ms = 0
    AND min_index_interval = 128
    AND read_repair_chance = 0.0
    AND speculative_retry = '99PERCENTILE';

Now, to see the output of the table, you can execute the following CQL query.

cassandra@cqlsh:app_data> 
SELECT * FROM user_data;

 user_id | address | name
---------+---------+------

(0 rows)

Last Updated : 28 Apr, 2020
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads