📜  SQL |更新声明

📅  最后修改于: 2021-09-10 02:21:13             🧑  作者: 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

示例查询

    • 更新单列:更新列 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