Open In App

Updating column’s in Cassandra

Last Updated : 28 Apr, 2020
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)

Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads