7)-MySQL更新表数据

Posted 奢华使命

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了7)-MySQL更新表数据相关的知识,希望对你有一定的参考价值。

1. mysql UPDATE语句简介


我们使用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语句将更新表中的所有行。
 
请注意,where子句非常重要,所以不应该忘记指定更新的条件。 有时,您可能只想改变一行; 但是,可能会忘记写上where子句,导致意外更新表中的所有行。
 
mysql在update语句中支持两个修饰符。
 
low_priority修饰符指示update语句延迟更新,直到没有从表中读取数据的连接。 low_priority对仅使用表级锁定的存储引擎(例如myisam,merge,memory)生效。
 
即使发生错误,ignore修饰符也可以使update语句继续更新行。导致错误(如重复键冲突)的行不会更新。
 

2. MySQL UPDATE示例


 
我们使用mysql示例数据库(yiibaidb)中的一些表来练习使用update语句。
 
2.1 mysql update一个单列示例
 
在这个例子中,我们将把 mary patterson 的电子邮件更新为新的电子邮件[email protected]
 
首先,为了确保更新电子邮件成功,使用以下select语句从employees表查询mary的电子邮件:
select
    firstname, lastname, email
from
    employees
where
    employeenumber = 1056;
 
执行上面的查询语句,得到以下结果 -
 
+-----------+-----------+----------------------+
| firstname | lastname  | email                |
+-----------+-----------+----------------------+
| Mary      | Patterson | [email protected] |
+-----------+-----------+----------------------+
1 row in set
 
第二步,使用update语句将mary的电子邮件更新为新的电子邮件:[email protected],如下查询所示:
 
update employees
set
    email = ‘[email protected]
where
    employeenumber = 1056;
 
因为上面语句中,只想更新一行,所以使用WHERE子句来指定更新的是员工编号1056的行。SET子句将电子邮件列的值设置为新的电子邮件。

以上是关于7)-MySQL更新表数据的主要内容,如果未能解决你的问题,请参考以下文章

mysql 更新某个表日期字段 为当前表的例外一个日期字段 的前7天

mysql5.6版本数据库向Mysql5.7版本的数据库更新数据

day13 MySQL 及数据库相关

mysql更新一个表不在另一个表中的数据

MySql中使用INSERT INTO语句更新多条数据的例子

mysql 根据一个表的数据更新另一个表