每天学习一点点,成功增加一大步

mysql 实用性命令 – 数据更新

MYSQL zhanghui 531℃

实用性命令集,有的时候对数据的一些操作肯定是在MySQL中进行,只是自己对MySQL的某些个语句使用场景不多,导致所知不多,那么收集起来就个好处,想要使用就可以直接用了

普通(条件)替换

比如:现在某个站点项目使用了新的URL地址,所以导致很多以前的数据中使用旧URL地址的图片等无法正常显示,最佳的解决办法就是将所有数据中的旧URL替换成新的。

UPDATE `table_name` SET `field_name` = replace (`field_name`,'www.xxx.net','www.xxx.com') WHERE `field_name` LIKE '%www.xxx.net%'

两表之间关联性更新(2021-08-24 更)

根据 a 表和 b 表的关联关系,将 b 表中的数据更新到 a 表中

UPDATE `pk_xxx` a
INNER JOIN ( 
	SELECT id, pinyin 
	FROM `pk_xxx`  ) b ON a.id = b.id 
SET a.pinyin = b.pinyin;

根据 a 表和 b 表的关联关系,将 b 表中的计算结果更新到 a 表中

UPDATE tbl_users a
INNER JOIN (
SELECT user_id, sum( pay_amount ) AS amount
FROM tbl_users_pay_details
GROUP BY user_id ) b ON a.id = b.user_id
SET a.pay_total = b.amount;

或者

update tbl_users a,(
select
user_id,sum(pay_amount) as amount
from tbl_users_pay_details
group by user_id
)b
set a.pay_total=b.amount
where a.id=b.user_id

或者

UPDATE tbl_users a
SET a.pay_total = ( SELECT sum( b.pay_amount ) FROM tbl_users_pay_details b WHERE a.id = b.user_id );

转载请注明:隨習筆記 » mysql 实用性命令 – 数据更新

喜欢 (0)