因此,如果我有一列名为credit_debt的数据,其中包含十个不同的数字,并且我想为每个数据添加100,我该怎么做?我知道我可以一个接一个地手动完成,但是如何在一个命令中完成所有操作?
答案 0 :(得分:1)
要更新表中的所有行,我们可以发出不带WHERE子句的UPDATE语句。
我们可以在UPDATE语句中引用存储在列中的当前值。
假设credit_debt
列是数字数据类型(例如INT,DECIMAL,DOUBLE等)
UPDATE mytable
SET credit_debt = credit_debt + 100
;
在运行这样的UPDATE之前,我总是确保我有一个很好的备份,以及一种恢复到当前状态的方法。我在SELECT中测试我的表达式,所以我不必进行恢复。在运行UPDATE之前,我会像这样运行SELECT:
SELECT credit_debt
, credit_debt + 100 AS _new_credit_debt
FROM mytable
ORDER BY ...
;
并验证_new_credit_debt返回的值是我想要分配给列的值。 (我们可以将任何其他表达式添加到我们想要的SELECT列表中,因此我们可以验证结果。