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>