update怎么批量更新同一列不同值

小億
307
2024-01-11 17:44:07

要批量更新同一列的不同值,可以使用UPDATE語(yǔ)句結(jié)合CASE語(yǔ)句來(lái)實(shí)現(xiàn)。以下是一個(gè)示例:

UPDATE 表名
SET 列名 = 
    CASE 
        WHEN 條件1 THEN1
        WHEN 條件2 THEN2
        ...
        ELSE 默認(rèn)值
    END
WHERE 條件;

通過(guò)在SET子句中使用CASE語(yǔ)句,可以根據(jù)不同的條件設(shè)置不同的值。在WHERE子句中可以添加過(guò)濾條件,以確定要更新的行。

例如,假設(shè)有一個(gè)名為"students"的表,其中有一個(gè)"score"列需要批量更新。我們想要將分?jǐn)?shù)大于等于80的學(xué)生設(shè)置為"A",分?jǐn)?shù)大于等于60但小于80的學(xué)生設(shè)置為"B",其他學(xué)生設(shè)置為"C"??梢允褂靡韵麓a進(jìn)行更新:

UPDATE students
SET score = 
    CASE 
        WHEN score >= 80 THEN 'A'
        WHEN score >= 60 THEN 'B'
        ELSE 'C'
    END;

注意:在實(shí)際使用時(shí),請(qǐng)根據(jù)具體的表結(jié)構(gòu)和需求修改表名、列名、條件和值。

0