Maria DB : update, delete

최혜린·2024년 10월 18일

데이터베이스 수정 및 삭제 명령어 정리

1. UPDATE

목적

  • 기존 데이터의 특정 값을 수정하기 위해 사용한다.

사용 예시

  • 부서번호가 10인 사원의 부서번호를 40으로 변경하는 쿼리:
    UPDATE emp022 SET deptno = 40 WHERE deptno = 10;

주의사항

  • 다수 행 수정의 위험: 한 번에 많은 행을 수정하면, 실수로 데이터를 잃을 수 있다.
  • 안전한 수정: 소수의 데이터만 수정하는 것이 안전하며, 신중하게 조건을 설정해야 한다.

2. DELETE

목적

  • 불필요한 행을 삭제하기 위해 사용한다.

사용 예시

  • 특정 사원(empno가 7369인)의 데이터를 삭제하는 쿼리:

    DELETE FROM emp022 WHERE empno = 7369;

주의사항

  • 삭제 권장 지양: 데이터 삭제는 신중하게 진행해야 하며, 가급적이면 사용하지 않는 것이 좋다.
  • 조건 지정: WHERE 절을 통해 특정 행만 삭제하도록 한다.

삭제 우회 방법

  1. isdelete 컬럼

    • 삭제 여부를 'Y' 또는 'N'으로 표시하는 컬럼을 추가. 데이터는 실제로 삭제되지 않는다.
    • 예: isdelete가 'Y'인 경우 해당 데이터는 삭제된 것으로 간주.
  2. Scratch

    • 데이터를 지우지 않고 훼손하여 삭제한 것처럼 처리.
  3. Replacement

    • 동일한 구조의 별도 테이블을 만들어 삭제된 데이터를 보관. 삭제 전에 데이터를 복사하여 관리.
  4. Logging

    • 모든 데이터 수정 및 삭제에 대한 로그를 기록하여 추적 가능하게 함.
    • 법적으로 최소 1년간 로그 정보를 저장해야 함.

법적 요구사항

  • 정보통신법에 따라 생성일자 및 수정일자를 기록하고, 로그를 남기는 것이 필수적이다.

마무리

  • 데이터 삭제를 수행하기 전에 항상 임시 저장이나 백업을 고려해야 한다.
  • 사용자에게는 데이터가 삭제된 것처럼 보이지만, 실제로는 데이터가 유지되는 방식을 통해 데이터의 무결성을 확보할 수 있다.
profile
산으로 가는 코딩.. 등산 중..🌄

0개의 댓글