多条记录MySQL:批量更新多条记录(mysql同时更新)

MySQL是目前最流行的开源数据库,在很多项目中都得到了广泛的用途。但它体比较大,而且本身配置复杂,因而经常要作出一些修改和更新来满足不同的应用要求,其中一个就是多个记录的批量更新。

批量更新多个记录有时会非常有用,但是却很容易出错,因此对于MySQL多条记录的批量更新一定要小心。这里介绍几种常用的技术。

1、使用UPDATE语句。使用UPDATE语句可以更新多条记录,代码示例如下:

update table_name

set col_name = value

where some_col = some_value

这种方式只更新满足条件的记录,如果不需要筛选记录,可以省略where部分:

update table_name

set col_name = value

此外,也可以同时更新多个字段,代码示例如下:

update table_name

set col_name1 = value1,col_name2 = value2,…

where some_col = some_value

2、使用CASE语句。使用CASE语句可以根据指定条件更新不同的字段,代码示例如下:

update table_name

set col_name = case

when some_col = some_value1 then value1

when some_col = some_value2 then value2

else value_default

end

where some_col in (some_value1,some_value2,…)

3、使用多表查询更新数据。由于MySQL允许多表查询,因此也可以使用多表查询完成批量更新,代码示例如下:

update table_name1 t1

inner join table_name2 t2

on t1.some_col = t2.some_col

set t1.col_name = t2.col_name

以上就是几种常用的批量更新MySQL多条记录的技术,通过以上技术,可以很方便的实现多表数据的批量更新,很多项目中都得到了广泛的应用。


数据运维技术 » 多条记录MySQL:批量更新多条记录(mysql同时更新)