mysql批量更新7000条数据_mysql 批量更新多条记录的方法
时间: 2023-11-05 07:02:01 浏览: 280
mysql 一次更新(update)多条记录的思路
批量更新多条记录可以使用MySQL的`UPDATE`语句结合`CASE`和`WHEN`语句来实现。具体步骤如下:
1. 将需要更新的数据保存在一个临时表中,表结构与原表相同。
2. 使用`UPDATE`语句对原表进行批量更新,将临时表中的数据更新到原表中。
下面是一个示例代码:
```sql
-- 创建临时表
CREATE TEMPORARY TABLE tmp_table (
id INT(11) NOT NULL,
name VARCHAR(50) DEFAULT NULL,
age INT(11) DEFAULT NULL,
PRIMARY KEY (id)
);
-- 向临时表中插入需要更新的数据
INSERT INTO tmp_table (id, name, age)
VALUES (1, 'Tom', 20), (2, 'Jack', 25), (3, 'Mary', 30), ... ;
-- 使用UPDATE语句进行批量更新
UPDATE original_table
SET name = CASE
WHEN id = 1 THEN 'Tom'
WHEN id = 2 THEN 'Jack'
WHEN id = 3 THEN 'Mary'
...
END,
age = CASE
WHEN id = 1 THEN 20
WHEN id = 2 THEN 25
WHEN id = 3 THEN 30
...
END
WHERE id IN (SELECT id FROM tmp_table);
-- 删除临时表
DROP TABLE tmp_table;
```
在上面的示例代码中,我们首先创建了一个临时表`tmp_table`来保存需要更新的数据。然后使用`INSERT INTO`语句将需要更新的数据插入到临时表中。
接着使用`UPDATE`语句对原表`original_table`进行批量更新。使用`CASE`和`WHEN`语句来实现根据每条记录的`id`值更新对应的`name`和`age`字段。最后使用`WHERE`子句指定更新的记录范围,这里使用了子查询的方式将临时表中的`id`值作为更新范围。
最后,我们删除临时表`tmp_table`。这样就完成了批量更新多条记录的操作。
阅读全文