当前位置: 首页 > 教程 > Cassandra >

Cassandra更新数据

精华
小牛编辑
204浏览
2023-03-14

UPDATE命令用于更新Cassandra表中的数据。 如果在更新数据后看不到任何结果,则表示数据成功更新,否则将返回错误。 在更新Cassandra表中的数据时,通常使用以下关键字:

  • Where:WHERE子句用于选择要更新的行。
  • Set:SET子句用于设置值。
  • Must:它用于包括构成主键的所有列。

语法:

UPDATE <tablename>  
SET <column name> = <new value>  
<column name> = <value>....  
WHERE <condition>

又或者 -

Update KeyspaceName.TableName   
Set ColumnName1=new Column1Value,  
      ColumnName2=new Column2Value,  
      ColumnName3=new Column3Value,  
       .  
       .  
       .  
Where ColumnName=ColumnValue

注意:使用UPDATE命令并且给定的行可用时,UPDATE会创建一个新行。

示例:

我们举个例子来演示如何更新Cassandra表中的数据。 我们有一个名为“student”的表,其中列(student_idstudent_feesstudent_name)具有以下数据:

cqlsh:yiibai_ks> SELECT * FROM student;

 student_id | student_fees | student_name
------------+--------------+--------------
          1 |         5000 |        Maxsu
          2 |         3000 |        Minsu
          3 |         2000 |       Modlee

(3 rows)
cqlsh:yiibai_ks>

在这里,我们将student_id2记录的student_fees的值更新为10000student_name更新为XunWang

UPDATE student SET student_fees=10000,student_name='XunWang' WHERE student_id=2;

在执行上面语句之后,表已更新。 您可以使用SELECT命令验证它。

SELECT * FROM student;

执行结果如下 -

cqlsh:yiibai_ks> SELECT * FROM student;

 student_id | student_fees | student_name
------------+--------------+--------------
          1 |         5000 |        Maxsu
          2 |         3000 |        Minsu
          3 |         2000 |       Modlee

(3 rows)
cqlsh:yiibai_ks> UPDATE student SET student_fees=10000,student_name='XunWang' WHERE student_id=2;
cqlsh:yiibai_ks> SELECT * FROM student;

 student_id | student_fees | student_name
------------+--------------+--------------
          1 |         5000 |        Maxsu
          2 |        10000 |      XunWang
          3 |         2000 |       Modlee

(3 rows)
cqlsh:yiibai_ks>