SQL 中的 UPDATE 语句用于更新数据库中现有表的数据。我们可以根据我们的要求使用 UPDATE 语句更新单列和多列。
基本语法
UPDATE table_name SET column1 = value1, column2 = value2,...
WHERE condition;
table_name: name of the table
column1: name of first , second, third column....
value1: new value for first, second, third column....
condition: condition to select the rows for which the
values of columns needs to be updated.
注意:在上面的查询中, SET语句用于为特定列设置新值, WHERE子句用于选择需要更新列的行。如果我们没有使用 WHERE 子句,那么所有行中的列都将被更新。所以 WHERE 子句用于选择特定的行。
示例查询
- 更新单列:更新列 NAME 并将 Age 为 20 的所有行中的值设置为“PRATIK”。
UPDATE Student SET NAME = 'PRATIK' WHERE Age = 20;
输出:
此查询将更新两行(第三行和第五行), Student 表现在看起来像,ROLL_NO NAME ADDRESS PHONE Age 1 Ram Delhi XXXXXXXXXX 18 2 RAMESH GURGAON XXXXXXXXXX 18 3 PRATIK ROHTAK XXXXXXXXXX 20 4 SURESH Delhi XXXXXXXXXX 18 3 PRATIK ROHTAK XXXXXXXXXX 20 2 RAMESH GURGAON XXXXXXXXXX 18
- 更新多个列:将列 NAME 更新为“PRATIK”,将 ADDRESS 更新为“SIKKIM”,其中 ROLL_NO 为 1。
UPDATE Student SET NAME = 'PRATIK', ADDRESS = 'SIKKIM' WHERE ROLL_NO = 1;
输出:
上面的查询将更新第一行中的两列,表Student现在看起来像,ROLL_NO NAME ADDRESS PHONE Age 1 PRATIK SIKKIM XXXXXXXXXX 18 2 RAMESH GURGAON XXXXXXXXXX 18 3 PRATIK ROHTAK XXXXXXXXXX 20 4 SURESH Delhi XXXXXXXXXX 18 3 PRATIK ROHTAK XXXXXXXXXX 20 2 RAMESH GURGAON XXXXXXXXXX 18 注意:为了更新多列,我们使用了逗号(,) 来分隔两列的名称和值。
- 省略 WHERE 子句:如果我们从更新查询中省略 WHERE 子句,则所有行都将被更新。
UPDATE Student SET NAME = 'PRATIK';
输出:
表Student现在看起来像,ROLL_NO NAME ADDRESS PHONE Age 1 PRATIK Delhi XXXXXXXXXX 18 2 PRATIK GURGAON XXXXXXXXXX 18 3 PRATIK ROHTAK XXXXXXXXXX 20 4 PRATIK Delhi XXXXXXXXXX 18 3 PRATIK ROHTAK XXXXXXXXXX 20 2 PRATIK GURGAON XXXXXXXXXX 18