我们如何使用单个MySQL UPDATE语句更新多行上的列值?
如果WHERE子句中指定的条件与多行匹配,则可以在单个UPDATE语句中更新多行的列值。在这种情况下,SET子句将应用于所有匹配的行。
示例
假设我们有一个表“招标”如下-
mysql> Select * from tender; +-----------+---------+------+ | tender_id | company | rate | +-----------+---------+------+ | 200 | ABC | 1000 | | 300 | ABD | 5000 | | 301 | ABE | 6000 | | 302 | ABF | 2500 | | 303 | ABG | 2600 | +-----------+---------+------+ 5 rows in set (0.00 sec)
现在,如果我们要更新“rate”列,其中“tender_id”大于或等于300,则可以使用以下查询-
mysql> UPDATE tender SET rate = rate + 1000 WHERE tender_id >= 300; Rows matched: 4 Changed: 4 Warnings: 0 mysql> Select * from tender; +-----------+---------+------+ | tender_id | company | rate | +-----------+---------+------+ | 200 | ABC | 1000 | | 300 | ABD | 6000 | | 301 | ABE | 7000 | | 302 | ABF | 3500 | | 303 | ABG | 3600 | +-----------+---------+------+ 5 rows in set (0.00 sec)
我们可以从上述结果集中观察到,tender_id>=300的多行值已更新。
热门推荐
10 财运虎年祝福语简短语
11 单亲爸爸春节祝福语简短
12 狗狗上厕所训练
13 植物种植祝福语简短
14 翻译考试祝福语朋友简短
15 个人周年庆简短祝福语
16 狗狗怎么训练
17 分别祝福语简短搞笑英文
18 生日广州男生祝福语简短