-- 1단계: REGION 컬럼 추가 ALTER TABLE USER_LIST ADD COLUMN REGION VARCHAR(50) COMMENT '지역' AFTER EMAIL; -- 2단계: ENGAGEMENT_RATE 컬럼 추가 ALTER TABLE USER_LIST ADD COLUMN ENGAGEMENT_RATE DECIMAL(5,2) COMMENT '참여율' AFTER FOLLOWER_COUNT; -- 3단계: DESCRIPTION 컬럼 추가 ALTER TABLE USER_LIST ADD COLUMN DESCRIPTION TEXT COMMENT '소개글' AFTER ENGAGEMENT_RATE; -- 4단계: SNS_CHANNELS 컬럼 추가 ALTER TABLE USER_LIST ADD COLUMN SNS_CHANNELS TEXT COMMENT 'SNS 채널 정보 (JSON)' AFTER DESCRIPTION; -- 5단계: 인덱스 추가 ALTER TABLE USER_LIST ADD INDEX idx_region (REGION), ADD INDEX idx_follower_count (FOLLOWER_COUNT), ADD INDEX idx_engagement_rate (ENGAGEMENT_RATE); -- 6단계: 테스트 데이터 업데이트 (필요한 경우 실행) UPDATE USER_LIST SET REGION = CASE WHEN MOD(SEQ, 8) = 0 THEN 'SEOUL' WHEN MOD(SEQ, 8) = 1 THEN 'BUSAN' WHEN MOD(SEQ, 8) = 2 THEN 'INCHEON' WHEN MOD(SEQ, 8) = 3 THEN 'DAEGU' WHEN MOD(SEQ, 8) = 4 THEN 'DAEJEON' WHEN MOD(SEQ, 8) = 5 THEN 'GWANGJU' WHEN MOD(SEQ, 8) = 6 THEN 'ULSAN' ELSE 'GYEONGGI' END, ENGAGEMENT_RATE = ROUND(RAND() * 10, 2), DESCRIPTION = CASE WHEN PRIMARY_CATEGORY IS NOT NULL THEN CASE WHEN PRIMARY_CATEGORY = 'FASHION_BEAUTY' THEN '패션과 뷰티 콘텐츠를 제작하는 인플루언서입니다.' WHEN PRIMARY_CATEGORY = 'FOOD_HEALTH' THEN '맛집 탐방과 건강한 식단을 소개하는 푸드 크리에이터입니다.' WHEN PRIMARY_CATEGORY = 'LIFESTYLE' THEN '일상의 특별한 순간을 공유하는 라이프스타일 크리에이터입니다.' ELSE '다양한 콘텐츠를 제작하는 크리에이터입니다.' END ELSE '프로필 소개가 없습니다.' END, SNS_CHANNELS = CASE WHEN MOD(SEQ, 3) = 0 THEN CONCAT('[{"platform":"instagram","handle":"@user_', SEQ, '"},{"platform":"youtube","handle":"@creator_', SEQ, '"}]') WHEN MOD(SEQ, 3) = 1 THEN CONCAT('[{"platform":"tiktok","handle":"@tiktok_', SEQ, '"},{"platform":"instagram","handle":"@insta_', SEQ, '"}]') ELSE CONCAT('[{"platform":"youtube","handle":"@youtube_', SEQ, '"},{"platform":"blog","handle":"blog.creator', SEQ, '.com"}]') END;