You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.
-- 1. 删除活动报名记录
-- 需求:删除用户 ID 为 5 报名的所有活动。
DELETE FROM activity_sign
WHERE user_id = 5 ;
-- 2. 删除特定用户的评论
-- 需求:删除用户 ID 为 8 所有的评论记录。( 将ID改为用户名称, 则该功能已经实现)
DELETE FROM comment
WHERE user_id = 8 ;
-- 3. 删除过期的活动
-- 需求:删除所有结束时间在当前时间之前的活动。
DELETE FROM activity
WHERE end < NOW ( ) ;
-- 4. 删除无效的博客
-- 需求:删除所有浏览量为 0 且发布日期超过 1 年的博客。
DELETE FROM blog
WHERE read_count = 0 AND date < NOW ( ) - INTERVAL 1 YEAR ;
-- 5. 删除发布人ID为2的活动
-- 需求: 删除发布人ID为2的活动。
DELETE FROM activity
WHERE publisher_id = 2 ;
-- 6. 删除特定博客分类下的所有博客
-- 需求:删除分类为 "深海探险" 的所有博客。
DELETE FROM blog
WHERE category_id = ( SELECT id FROM category WHERE name = ' 深海探险 ' ) ;
-- 7. 删除评论中的指定内容
-- 需求:删除所有评论内容包含敏感词 "禁止" 的评论。
DELETE FROM comment
WHERE content LIKE ' %非常% ' ;
-- 8. 删除用户的数据
-- 需求:删除用户名为 testuser 的用户及其相关数据(包括博客、评论、收藏)。
DELETE FROM blog
WHERE user_id = ( SELECT id FROM user WHERE username = ' testuser ' ) ;
DELETE FROM comment
WHERE user_id = ( SELECT id FROM user WHERE username = ' testuser ' ) ;
DELETE FROM collect
WHERE user_id = ( SELECT id FROM user WHERE username = ' testuser ' ) ;
DELETE FROM user
WHERE username = ' testuser ' ;
-- 9. 删除过期的收藏记录
-- 需求:删除所有收藏的活动或博客,如果它们对应的活动或博客已经被删除。
DELETE FROM collect
WHERE ( fid , module ) NOT IN ( SELECT id , ' activity ' FROM activity UNION SELECT id , ' blog ' FROM blog ) ;
-- 10. 删除不活跃的用户
-- 需求:删除没有任何活动(报名、评论等)的用户数据。
DELETE FROM user
WHERE id IN (
SELECT id
FROM (
SELECT u . id
FROM user u
LEFT JOIN activity_sign a ON u . id = a . user_id
LEFT JOIN comment c ON u . id = c . user_id
WHERE a . user_id IS NULL OR c . user_id IS NULL
) AS temp_ids
) ;