- 在平常的项目中,我们会需要批量操作数据库的时候,例如:批量修改,批量插入,那我们不应该使用 for 循环去操作数据库,这样会导致我们反复与数据库发生连接和断开连接,影响性能和增加操作时间
- 所以我们可以使用编写 SQL 批量修改的方式去操作数据库
- 1、批量修改
UPDATE check_order_pl_detail SET remarks = CASE id WHEN 1 THEN '备注1' WHEN 2 THEN '备注2' END, retail_unit_price = CASE id WHEN 1 THEN 100 WHEN 2 THEN 200 END WHERE id IN ( 1, 2 )
我们去修改 check_order_pl_detail 表时,我们需要根据 id 去修改 remarks 和 retail_unit_price ,我们可以采用 CASE WHEN 的方式,去修改数据
- 2、批量插入
INSERT INTO user_info_backup ( `name`, age, sex, log_time) SELECT `name`, age, sex, DATE_SUB( curdate( ), INTERVAL 1 DAY ) AS log_time FROM user_info
当我们在备份 user_info 表的数据时,我们需要将 user_info 的数据查询出来,在插入到 user_info_backup 表中