Cassandra更新數據

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>