mysql批量更新10w数据
时间: 2023-07-22 10:43:21 浏览: 157
MySQL创建存储过程批量插入10万条数据
对于MySQL批量更新10万条数据,可以采用以下两种方法:
1. 使用INSERT INTO … ON DUPLICATE KEY UPDATE语句
这种方法的前提是表必须有唯一索引或主键,然后使用INSERT INTO … ON DUPLICATE KEY UPDATE语句进行更新,例如:
```
INSERT INTO table_name (id, col1, col2) VALUES (1, 'value1', 'value2')
ON DUPLICATE KEY UPDATE col1='updated_value1', col2='updated_value2';
```
这个语句的意思是,如果id=1的行已经存在,那么更新col1和col2的值;否则,插入一行数据。
可以将多个数据放在一个INSERT INTO语句中,以逗号分隔。
2. 使用REPLACE INTO语句
如果没有唯一索引或主键,可以使用REPLACE INTO语句,例如:
```
REPLACE INTO table_name (id, col1, col2) VALUES (1, 'value1', 'value2');
```
这个语句的意思是,如果id=1的行已经存在,则删除它并插入新的数据;否则,直接插入数据。
需要注意的是,使用REPLACE INTO语句会影响表的自增ID,因为每次插入都会生成一个新的ID。
这两种方法在更新大量数据时,效率都比较高。需要根据具体情况选择合适的方法。
阅读全文