如何为SQL中的列中的每个数据添加一个数字?

时间:2016-11-15 20:51:35

标签: mysql sql

因此,如果我有一列名为credit_debt的数据,其中包含十个不同的数字,并且我想为每个数据添加100,我该怎么做?我知道我可以一个接一个地手动完成,但是如何在一个命令中完成所有操作?

1 个答案:

答案 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列表中,因此我们可以验证结果。