📜  Cassandra 中的更新子句

📅  最后修改于: 2021-09-08 16:14:03             🧑  作者: Mango

在本文中,我们将讨论如何更新表中的列,如何更新单行中的多列,以及如何根据某些条件插入列值。

让我们一一讨论。

让我们考虑一个表 User_data,它具有唯一标识行的 User_id,名称、城市、国家是表的字段。因此,首先,我们将使用下面给出的以下 CQL 查询创建一个表。我们来看一下。

要创建表,请使用以下 CQL 查询。

CREATE TABLE User_data
(
User_Id uuid,
Name text,
City text,
Country text,
Primary key(User_Id)
); 

现在,我们将向表中插入一些数据。我们来看一下。

Insert into User_data(User_Id, Name, City, Country) 
values (04a5626c-c0d7-477c-521d-6c1b69a95d23, 'Ashish', 'california', 'USA');

Insert into User_data(User_Id, Name, City, Country) 
values (55b8fd28-b1ed-4e46-bf79-3170687cba50, 'Rana', 'mumbai', 'India');

Insert into User_data(User_Id, Name, City, Country) 
values (66b8fd28-b1ed-4e46-bf69-3170687cba20, 'Abi', 'Bangalore', 'India'); 

让我们看看插入数据到表中的输出,以验证数据是否相应插入。
我们来看一下。

Select * 
from User_data; 

输出:

在 Cassandra 中,由 Cassandra 查询语言 (CQL) 支持的 IN 子句中的空值列表在Java应用程序中非常有用,更具体地说,当我们将空数组作为 IN 子句的参数传递时,在Java驱动程序应用程序中。

现在,如果我们想更改城市名称,则使用下面给出的以下 CQL 查询将用户的城市更新到 User_data 表中。我们来看一下。

UPDATE User_data
SET City ='New Delhi'
WHERE User_Id IN 
(
45b8fd28-b1ed-4e46-bf79-3170687cba40,
04a5626c-c0d7-477c-521d-6c1b69a95d23, 
66b8fd28-b1ed-4e46-bf69-3170687cba20 
); 

现在,验证用户的城市是否成功更改。

Select * 
from User_data; 

输出:

现在,为了更新,一行中的几列使用了以下 CQL 查询。

UPDATE User_data
SET 
Name = 'Ashish Rana',
Country = 'India'
WHERE User_id = 04a5626c-c0d7-477c-521d-6c1b69a95d23; 

现在,验证是否成功更新。
我们来看一下。

Select * 
from User_data; 

输出: