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>