소개
SQL에서 데이터를 일괄 수정하는 것은 매우 흔한 작업입니다. 특히 저장된 파일 경로나 URL과 같은 문자열 데이터를 수정할 때는 신중한 접근이 필요합니다. 이번 글에서는 SQL을 사용하여 안전하게 데이터를 수정하는 방법을 알아보겠습니다.
데이터 수정 전 확인
데이터를 수정하기 전에는 항상 현재 데이터의 상태를 확인해야 합니다.
SELECT column_name FROM table_name
WHERE column_name LIKE 'old_path%';
위 쿼리는 수정이 필요한 데이터를 보여줍니다.
수정될 내용 미리보기
실제 수정 전에 REPLACE 함수를 사용하여 변경될 내용을 미리 확인할 수 있습니다.
SELECT
column_name as current_value,
REPLACE(
column_name,
'old_string',
'new_string'
) as modified_value
FROM table_name
WHERE column_name LIKE 'old_path%';
UPDATE 쿼리 작성
검증이 완료되면 실제 UPDATE 쿼리를 실행합니다.
UPDATE table_name
SET column_name = REPLACE(
column_name,
'old_string',
'new_string'
)
WHERE column_name LIKE 'old_path%';
경로 구분자 처리
Windows 시스템의 경우 백슬래시()를 사용할 때 주의가 필요합니다.
-- 권장하는 방식
UPDATE table_name
SET column_name = REPLACE(
column_name,
'C:/path/to/old',
'C:/path/to/new'
)
WHERE column_name LIKE 'C:/path/to/old%';
수정 후 확인
데이터 수정이 완료된 후에는 변경 결과를 확인합니다.
SELECT column_name FROM table_name
WHERE column_name LIKE 'new_path%';
주의사항
- 수정 전 반드시 데이터베이스를 백업합니다.
- WHERE 절을 사용하여 수정 범위를 정확히 지정합니다.
- REPLACE 함수 사용 시 대소문자 구분에 주의합니다.
- 경로 구분자는 일관되게 사용합니다.
- 큰 데이터셋의 경우 서버 부하를 고려하여 배치 처리를 고려합니다.
결론
SQL을 사용한 데이터 일괄 수정은 강력하지만 신중하게 접근해야 하는 작업입니다. SELECT로 먼저 확인하고, 백업을 만든 후, 단계적으로 수정하는 것이 안전합니다. 특히 파일 경로와 같은 중요한 데이터를 수정할 때는 더욱 주의가 필요합니다.
'SQL' 카테고리의 다른 글
SQL 기본 문법 (0) | 2024.11.12 |
---|---|
SQL : 외래 키 제약 조건(FOREIGN KEY) (2) | 2024.11.08 |
SQL의 DISTINCT 문: 중복 제거와 고유 값 추출 (0) | 2024.10.25 |