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_id
,student_fees
,student_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_id
為2
記錄的student_fees
的值更新為10000
,student_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>