Files
2021-12-13 21:23:43 +09:00

2.0 KiB

17강. 삭제하기 - DELETE

데이터베이스의 테이블에서 행을 삭제하기 위해서는 DELETE 명령을 사용한다.

DELETE 명령

DELETE FROM 테이블명 WHERE 조건식

1. DELETE로 행 삭제하기

  • RDBMS에서 데이터를 삭제할 경우에는 행 단위로 DELETE 명령을 수행한다.

DELETE 명령

DELETE FROM 테이블명 WHERE 조건식
  • DELETE FROM sample41; 으로 DELETE 명령을 실행하면 sample41 테이블의 모든 데이터가 삭제된다.
  • DELETE 명령에는 WHERE 구를 지정할 수 있으나 SELECT 명령처럼 WHERE 구를 생략할 경우에는 모든 행을 대상으로 동작하기 때문이다.
  • 한편 WHERE 구를 지정한 경우에는 해당 조건식에 맞는 행만 삭제 대상이 된다.
DELETE 명령으로 행을 삭제할 수 있다!
  • 삭제는 행 단위로 수행된다.
  • SELECT 명령과 같이 열을 지정할 수는 없다.
  • 즉, DELETE no FROM sample41과 같이 열을 지정하여 그 열만 삭제할 수는 없다.
  • DELETE 명령을 실행할 때는 재확인을 위한 대화창 같은 것은 표시되지 않는다.
  • 즉, WHERE 구에서 조건식을 잘못 지정하면 의도하지 않은 데이터마저 삭제된다.
  • 따라서 DELETE 명령을 실행할 때는 주의를 기울여야 한다.
DELETE 명령은 WHERE 조건에 일치하는 '모든 행'을 삭제한다!

2. DELETE 명령 구

  • WHERE 구에서 대상이 되는 행을 검색하는 것은 SELECT 명령에서도 DELETE 명령에서도 똑같다.
  • 단지 SELECT 명령에서는 조건에 맞는 행의 결괏값이 클라이언트로 반환되지만, DELETE 명령에서는 조건에 맞는 행이 삭제된다는 점만 다르다.
  • DELETE 명령에서도 SELECT 명령처럼 WHERE 구를 지정할 수 있지만 ORDER BY 구는 사용할 수 없다. 어떤 행부터 삭제할 것인지는 중요하지 않으며 의미가 없기 때문이다.