세조목

SQL 정리(여러 column의 값 한번에 바꾸기)(24.01.12) 본문

데이터 분석 공부/SQL

SQL 정리(여러 column의 값 한번에 바꾸기)(24.01.12)

세조목 2024. 1. 12. 16:38

SQL에서 특정 문자를 바꿀때 replace 기능을 사용한다.

그런데 테이블의 모든 컬럼 內 특정 값을 한번에 바꿀수는 없을까??

가능하다.

 

UPDATE your_table
SET column1 = REPLACE(column1, 'old_value', 'new_value'),
    column2 = REPLACE(column2, 'old_value', 'new_value'),
    -- Add more columns as needed;

위와같이 코드를 입력하면된다.

UPDATE 함수를 사용해서

SET 뒤에

컬럼명1 = REPLACE(컬럼명1, '이전값', '새로운값'), 컬럼명2 = REPLACE(컬럼명2, '이전값', '새로운값')...

입력해주는 것이다.

 

연습

이런 테이블이 있다고했을때

update total_factor_backup
set STATE = REPLACE(STATE, 'M', '*'), obesity_rate = replace(obesity_rate, 4, 12)

이렇게 코드를 입력하면

위 화면이 뜨며

 

다시 테이블을 조회해보면

(좌) 바뀌기 전 / (우) 바뀐 후

위와 같이 'M'은 '*'로, 숫자 4는 수자 12로 바뀐 것을 확인할 수 있다.

 

그리고 전체 컬럼 변경 코드를 입력하면

아래와 같은 메시지가 뜰텐데

데이터셋이 영구적으로 바뀐다는 안내 문구로

값이 완전히 바뀌어도 상관없을 경우 '확인'을 누르고 계속 진행하면된다.