MySQL-数据更新(UPDATE)

时间:2022-09-21 17:07:31

MySQL-UPDATE语句

功能介绍:用于更新表中的现有数据。亦可用UPDATE语句来更改表中单个行,一组行或所有行的列值。

MySQL-UPDATE语法:

UPDATE [LOW_PRIORITY] [IGNORE] table_name 
SET 
    column_name1 = expr1,
    column_name2 = expr2,
    ...
WHERE
    condition;

在上面UPDATE语句中:

第一,在UPDATE关键字后面指定要更新数据的表名。

第二,SET子句指定要修改的列和新值。要更新多个列,请使用以逗号分隔的列表。

第三,使用WHERE语句中的条件指定要更新的行。

    WHERE子句是可选的。 如果省略WHERE子句,则UPDATE语句将更新表中的所有行。

 

MySQL-UPDATE多列

更新多列中的值,需要在SET子句中指定分配。

实例:

更新了员工编号1056的姓氏和电子邮件列:
UPDATE employees 
SET 
    lastname = 'Hill',
    email = 'mary.hill@yiibai.com'
WHERE
    employeeNumber = 1056;

 

MySQL-UPDATE JOIN语句

在MySQL中,可以在UPDATE语句中使用JOIN子句执行跨表更新。

JOIN语句作用:查询表中的行(在INNER JOIN的情况下),

                         查询另一个表中的相应行 (在LEFT JOIN的情况下)。

UPDATE JOIN语法:

UPDATE T1, T2,                            
[INNER JOIN | LEFT JOIN] T1 ON T1.C1 = T2. C1          
SET T1.C2 = T2.C2, 
    T2.C3 = expr
WHERE condition

UPDATE JOIN语法说明:

  第一,在UPDATE子句之后,指定主表(T1)和希望主表连接表(T2)。 

  第二,指定一种要使用的连接,即INNER JOINLEFT JOIN和连接条件。JOIN子句必须出现在UPDATE子句之后。

  第三,要为要更新的T1和/或T2表中的列分配新值。

  第四,WHERE语句中的条件用于指定要更新的行。

更新数据交叉表的另一种方法:

UPDATE T1,T2
INNER JOIN T2 ON T1.C1 = T2.C1
SET T1.C2 = T2.C2,
      T2.C3 = expr
WHERE condition