UPDATE命令用于更新Cassandra表中的數(shù)據(jù)。 如果在更新數(shù)據(jù)后看不到任何結(jié)果,則表示數(shù)據(jù)成功更新,否則將返回錯(cuò)誤。 在更新Cassandra表中的數(shù)據(jù)時(shí),通常使用以下關(guān)鍵字:
Where:WHERE子句用于選擇要更新的行。Set:SET子句用于設(shè)置值。Must:它用于包括構(gòu)成主鍵的所有列。語(yǔ)法:
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命令并且給定的行可用時(shí),UPDATE會(huì)創(chuàng)建一個(gè)新行。
示例:
我們舉個(gè)例子來(lái)演示如何更新Cassandra表中的數(shù)據(jù)。 我們有一個(gè)名為“student”的表,其中列(student_id,student_fees,student_name)具有以下數(shù)據(jù):
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;
在執(zhí)行上面語(yǔ)句之后,表已更新。 您可以使用SELECT命令驗(yàn)證它。
SELECT * FROM student;
執(zhí)行結(jié)果如下 -
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>