📜  SQL | UPDATE语句

📅  最后修改于: 2021-05-20 07:12:40             🧑  作者: Mango

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子句用于选择特定的行。
表格1

查询示例

    • 更新单列:更新年龄列为20的所有行中的列NAME并将其值设置为“ PRATIK”。
      UPDATE Student SET NAME = 'PRATIK' WHERE Age = 20;
      

      输出:
      该查询将更新两行(第三行和第五行),并且学生表现在看起来像这样,

      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
    • 更新多个列:将ROLL_NO为1的列NAME更新为“ PRATIK”,将地址ADDRESS更新为“ SIKKIM”。
      UPDATE Student SET NAME = 'PRATIK', ADDRESS = 'SIKKIM' WHERE ROLL_NO = 1;
      

      输出
      上面的查询将更新第一行中的两列,并且学生表现在看起来像这样,

      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