본문으로 이동

Delete (SQL)

위키백과, 우리 모두의 백과사전.
Badbread (토론 | 기여)님의 2010년 11월 13일 (토) 11:19 판 (새 문서: 구조화 질의어(SQL)에서, '''DELETE''' 문은 테이블에서 하나 이상의 레코드를 삭제합니다. 하위 집합은 삭제에 대...)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)

구조화 질의어(SQL)에서, DELETE 문은 테이블에서 하나 이상의 레코드를 삭제합니다. 하위 집합은 삭제에 대한 조건을 정의할 수 있으며, 정의하지 않으면 모든 레코드는 삭제됩니다.[1]

사용법

DELETE 문은 다음 구문을 따른다:

DELETE FROM 테이블_이름 [WHERE 조건]

WHERE 조건에 맞는 모든 행은 테이블에서 삭제됩니다. WHERE 절을 생략하면, 모든 행을 삭제합니다. DELETE문은 어떤 행이라도 리턴하지 않으며, 결과 집합을 발생시키지도 않습니다.

DELETE 문을 실행하는 것은 다른 테이블을 삭제하게끔 실행하는 트리거가 발생할 수 있습니다. 예를 들면, 두 테이블이 외래 키로 연결되어 있고 행이 참조된 테이블에서 삭제된다면, 참조 무결성이 유지되도록 참조하고 있는 테이블에도 공통적으로 삭제됩니다.

예제

  • pies 테이블에서 flavour 열과 Lemon Meringue 열에서 행이 같으면 삭제합니다:
DELETE FROM pies WHERE flavour='Lemon Meringue';
  • trees 테이블에서, height 값이 80보다 작으면 행을 삭제합니다:
DELETE FROM trees WHERE height < 80;
  • mytable에서 모든 행을 삭제합니다:
DELETE FROM mytable;
  • mytable에서 where 조건에 서브쿼리를 사용해 행을 삭제합니다:
DELETE FROM mytable WHERE id IN (SELECT id FROM mytable2)
  • mytable에서 값 목록을 사용하여 행을 삭제합니다:
DELETE FROM mytable WHERE id IN (value1, value2, value3, value4, value5)

참조

  1. “SQL Delete 문”. w3schools.com. 

외부 링크

틀:구조화 질의어