Updating column’s in Cassandra
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
Share your thoughts in the comments
Please Login to comment...