Code前端首页关于Code前端联系我们

MySQL 入门教程:用于更新表中数据的 UPDATE 命令

terry 2年前 (2023-09-26) 阅读数 49 #数据库

了解如何使用 MySQL UPDATE 命令来更新表中数据。

1。 MySQL UPDATE 命令简介

我们使用 UPDATE 命令来更新表中的现有数据。您还可以使用UPDATE命令更改表中单行、一组行或所有行的列值。

MySQL命令语法UPDATE解释如下:

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

在上面的命令中❙❙在上面的命令中❙❙第一个❙❙ ‷‷‷ , v UPDATE 在关键字后输入要更新的数据表的名称。

  • 其次,SET 子句指定要修改的列和新值。要更新多个列,请使用逗号分隔的列表。输入要在每个列分配中设置的值作为文字、表达式或子查询。
  • 第三,使用WHERE子句中的条件来指定要更新的行。 WHERE 子句是可选的。如果省略 WHERE 子句,则 UPDATE 语句将更新表中的所有行。
  • 请注意子句WHERE非常重要,因此您不应忘记指定更新条件。有时您可能只想更改一行;但是,您可能会忘记编写 WHERE 子句,导致表中的所有行都被无意中更新。

    MySQL 在 UPDATE 命令中支持两个修饰符。

    • LOW_PRIORITY 告诉 UPDATE 命令延迟更新,直到没有可用于从表中读取数据的连接。 LOW_PRIORITY对于仅使用表级锁定的存储机器很有用(例如MyISAM、、♺ME♺MEME♽ ) )生效。
    • IGNORE 修饰符允许 UPDATE 命令继续更新行,即使发生错误也是如此。导致错误(例如重复键违规)的行不会更新。

    2。 MySQL UPDATE 示例

    我们使用示例 MySQL 数据库 (yiibaidb) 中的一些表来练习命令 UPDATE。? 。

    首先,要确保更新的电子邮件成功,请使用以下选择语句查询来自员工的电子邮件mary:执行上述查询语句得到以下结果 -

    +-----------+-----------+----------------------+
    | firstname | lastname  | email                |
    +-----------+-----------+----------------------+
    | Mary      | Patterson | mpatterso@yiibai.com |
    +-----------+-----------+----------------------+
    1 row in set
    
    sql

    第二步,使用命令update将电子邮件mary更新为新电子邮件: 我是阿里。 new@yiibai.com如以下查询所示:

    UPDATE employees 
    SET 
        email = 'mary.new@yiibai.com'
    WHERE
        employeeNumber = 1056;
    
    SQL

    由于您只想更新上述语句中的一行,因此使用指定WHERE

    员工编号1056线路已更新。 SET 子句将电子邮件列值设置为新电子邮件。

    第三,再次执行命令SELECT以验证更改。

    SELECT 
        firstname, lastname, email
    FROM
        employees
    WHERE
        employeeNumber = 1056;
    
    SQL

    重新运行上面的查询,得到以下结果 -

    +-----------+-----------+---------------------+
    | firstname | lastname  | email               |
    +-----------+-----------+---------------------+
    | Mary      | Patterson | mary.new@yiibai.com |
    +-----------+-----------+---------------------+
    1 row in set
    
    SQL

    2.2 MySQL UPDATE♷ 要更新多个列中的值,必须更新多个列中的值 任务在条款中指定。例如,以下命令更新员工编号 1056 的姓氏和电子邮件列:

    UPDATE employees 
    SET 
        lastname = 'Hill',
        email = 'mary.hill@yiibai.com'
    WHERE
        employeeNumber = 1056;
    
    SQL

    执行上述命令后,查询员工编号:1056 的记录,如下所示 - ♿ SQL

    2.3 使用 SELECT 命令进行 MySQL UPDATE 的示例

    您可以使用命令 SELECT 查询其他表中的数据,并提供值 SET❙'

    例如表 客户有些客户没有销售代表。列salesRepEmployeeNumber的值为NULL,如下所示:和SQL我们可以向客户提供更新

    为此,您需要从员工e‷e‷eye 表中随机选择一名职位为销售代表的员工。
    以下查询命令从员工表中随机选择职位为销售代表的员工。

    SELECT 
        employeeNumber
    FROM
        employees
    WHERE
        jobtitle = 'Sales Rep'
    ORDER BY RAND()
    LIMIT 1;
    
    SQL

    要更新上面❙列中的销售代表员工编号(员工编号)❙客户‷‷,请插入❙客户 ‷更新声明SET子句如下:

    UPDATE customers 
    SET 
        salesRepEmployeeNumber = (SELECT 
                employeeNumber
            FROM
                employees
            WHERE
                jobtitle = 'Sales Rep'
            LIMIT 1)
    WHERE
        salesRepEmployeeNumber IS NULL;
    
    SQL

    如果查询中的数据,上面每条销售报表都会看到客户在执行客户的exe命令后更新了报表代表。换句话说,以下查询将不会返回任何行数据。

    SELECT 
         salesRepEmployeeNumber
    FROM
        customers
    WHERE
        salesRepEmployeeNumber IS NULL;
    `
    
    SQL

    在本教程中,您学习了如何使用 MySQL 命令UPDATE 更新数据库表中的数据。

    版权声明

    本文仅代表作者观点,不代表Code前端网立场。
    本文系作者Code前端网发表,如需转载,请注明页面地址。

    发表评论:

    ◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

    热门