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_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>