12.22

  1. 删除重复数据(保留最小  id )

sql
-- 删除 user 表中 name 重复的记录,仅保留每个 name 对应最小 id 的那条
DELETE t1 FROM user t1
JOIN user t2
WHERE t1.id > t2.id AND t1.name = t2.name;

  1. 跨库表数据删除

sql
-- 删除 db1 库中 user 表和 db2 库中 log 表关联的记录
DELETE t1, t2 FROM db1.user t1
JOIN db2.log t2 ON t1.id = t2.user_id
WHERE t1.status = 0;

  1. 带  CASE  条件的精准删除

sql
-- 按用户等级删除:青铜用户且积分<100 直接删,白银用户积分<50 才删
DELETE FROM user
WHERE CASE
WHEN level = 'bronze' THEN integral < 100
WHEN level = 'silver' THEN integral < 50
ELSE FALSE
END;

posted @ 2025-12-22 21:57  喜欢写轻小说的日央  阅读(1)  评论(0)    收藏  举报