在MySQL中。可以使用 UPDATE 语句更新表中的记录,可以更新特定的行或者同时更新所有的行。
语法结构如下:
UPDATE table_name
SET column_name1 = value1 , column_name2 = value2 , ... , column_namen = valuen
WHERE (condition);
column_name1, column_name2, ... , column_namen 为要更新的字段名称;
value1,value2,... , valuen 为相对应的指定字段的更新值;
condition 是更新的记录需要满足的条件
【例】在person 表中,更新 id=4 的记录,将 id 字段改为 1 ,将 age 字段改为 21;
更改前:
mysql> SELECT * FROM person;
+----+--------+-----+-------------+
| id | name | age | info |
+----+--------+-----+-------------+
| 2 | Suse | 22 | dancer |
| 3 | Mary | 24 | Musicion |
| 4 | Willam | 20 | sports man |
+----+--------+-----+-------------+
更新SQL语句:
mysql> UPDATE PERSON
-> SET id=1,age=21
-> WHERE id=4;
Query OK, 1 row affected (0.97 sec)
查看执行结果:
mysql> SELECT * FROM person;
+----+--------+-----+-------------+
| id | name | age | info |
+----+--------+-----+-------------+
| 1 | Willam | 21 | sports man |
| 2 | Suse | 22 | dancer |
| 3 | Mary | 24 | Musicion |
+----+--------+-----+-------------+
【注】如果不指定 WHERE 子句,将更新表中所有行
【例】在person 表中,更新 age 值在 10~22 的记录,将 info 字段改为 student。SQL语句如下:
mysql> UPDATE person
-> SET info='student'
-> WHERE age BETWEEN 10 AND 22;
执行结果:
mysql> SELECT * FROM person;
+----+--------+-----+----------+
| id | name | age | info |
+----+--------+-----+----------+
| 1 | Willam | 21 | student |
| 2 | Suse | 22 | student |
| 3 | Mary | 24 | Musicion |
+----+--------+-----+----------+
【注】参考于清华大学出版社《MySQL数据库应用案例课堂》2016年1月第1版