首页 > 编程笔记 > MySQL笔记 阅读:54

MySQL UPDATE语句:更新表中的数据(非常详细,附带实例)

对于有数据的表,可以对数据进行更新操作,MySQL 中使用 UPDATE 语句更新表中的记录,可以更新特定的行或者同时更新所有的行。

UPDATE 语句的基本语法结构如下:
UPDATE table_name
SET column_name1 = value1,column_name2=value2,…,column_namen=valuen
WHERE (condition);

更新多列时,每个“列-值”对之间用逗号隔开,最后一列之后不需要逗号。


【实例】在 person 表中,更新 id 值为 11 的记录,将 age 字段值改为 15,将 name 字段值改为 LiMing,SQL 语句如下:
UPDATE person SET age = 15, name='LiMing' WHERE id = 11;
更新操作执行前可以使用 SELECT 语句查看当前的数据:
mysql> SELECT * FROM person WHERE id=11;
+----+-------+-----+---------+
| id | name  | age | info    |
+----+-------+-----+---------+
| 11 | Harry |  20 | student |
+----+-------+-----+---------+
由结果可以看到,更新之前 id 等于 11 的记录的 name 字段值为 harry、age 字段值为 20。

下面使用 UPDATE 语句更新数据:
mysql> UPDATE person SET age = 15, name='LiMing' WHERE id = 11;
语句执行完毕,查看执行结果:
mysql> SELECT * FROM person WHERE id=11;
+----+--------+-----+---------+
| id | name   | age | info    |
+----+--------+-----+---------+
| 11 | LiMing |  15 | student |
+----+--------+-----+---------+
由结果可以看到,id 等于 11 的记录中的 name 和 age 字段的值已经成功地被修改为指定值。

保证 UPDATE 以 WHERE 子句结束,通过 WHERE 子句指定被更新的记录所需要满足的条件,如果忽略 WHERE 子句,MySQL 将更新表中所有的行。

【实例】在 person 表中,更新 age 值为 19~22 的记录,将 info 字段值都改为 student,SQL 语句如下:
UPDATE person SET info='student'  WHERE id  BETWEEN 19 AND 22;
更新操作执行之前,可以使用 SELECT 语句查看当前的数据:
mysql> SELECT * FROM person WHERE age BETWEEN 19 AND 22;
+----+---------+-----+------------+
| id | name    | age | info       |
+----+---------+-----+------------+
|  1 | Green   |  21 | Lawyer     |
|  2 | Suse    |  22 | dancer     |
|  4 | Willam  |  20 | sports man |
|  7 | Dale    |  22 | cook       |
|  9 | Harry   |  21 | magician   |
| 10 | Harriet |  19 | pianist    |
+----+---------+-----+------------+
可以看到,这些 age 字段值在 19~22 之间的记录的 info 字段值各不相同。

下面使用 UPDATE 语句更新数据,语句执行结果如下:
mysql> UPDATE person SET info='student' WHERE age BETWEEN 19 AND 22;
语句执行完毕,查看执行结果:
mysql> SELECT * FROM person WHERE age BETWEEN 19 AND 22;
+----+---------+-----+---------+
| id | name    | age | info    |
+----+---------+-----+---------+
|  1 | Green   |  21 | student |
|  2 | Suse    |  22 | student |
|  4 | Willam  |  20 | student |
|  7 | Dale    |  22 | student |
|  9 | Harry   |  21 | student |
| 10 | Harriet |  19 | student |
+----+---------+-----+---------+
由结果可以看到,UPDATE 执行后,成功将表中符合条件的 6 条记录的 info 字段值都改为 student。

相关文章