[mysql] substring_index, substring, replace 문자열중 일부 문자열만 추출해서 update 처리

Sora Kim·2022년 4월 27일

mysql

목록 보기
1/2

기존 데이터에서 url 부분이..... 이렇게 html 태그가 같이 들어있었고,
나는 src부분만 필요했던 상황...! 하나하나 수정하기에는...데이터가 150+...
5개정도 수정하다가 짜증나서 한번에 업뎃하기로 결정!

<iframe width="100%" src="https://www.youtube.com/xxxxxx" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

https://www.youtube.com/xxxxxx 부분만 추출하기!

  1. substring_index를 사용해서 src="https://www.youtube.com/xxxxxx" 부분만 추출 ( ' ' 공백을 기준으로 split 효과내기)

  2. substring으로 "https://www.youtube.com/xxxxxx" (따옴표까지) 부분만 추출

  3. replace로 '"' -> '' (따옴표 -> 공백) 으로 전환

  4. update 처리

    SUBSTRING_INDEX(문자열, '구분자', 구분자 Index)

    SUBSTRING(문자열, 시작 위치)
    SUBSTRING(문자열, 시작 위치, 시작 위치부터 추출할 문자수)

    REPLACE(문자열, '기존문자열', '변경문자열')

      SELECT REPLACE( SUBSTRING
                      ( SUBSTRING_INDEX ( SUBSTRING_INDEX(url,' ',3) , ' ' , -1 ) 
                      , 5 ) , '"' , '') 
      FROM table1;

우선, 데이터 베이스에서 확인해보고!

	UPDATE table1 
	SET url = (SELECT REPLACE(SUBSTRING(SUBSTRING_INDEX(SUBSTRING_INDEX(url,' ',3),' ',-1),5),'"',''))
	WHERE URL like '%iframe%';

업데이트 완료!!!!

벨로그 글쓰는게....업뎃 처리 하는 것 보다 오래걸리는거 실화냐...
profile
개발잘하고시풔!!!!!!!

0개의 댓글