'SQL 데이터 조작문 - 데이터 삭제'에 해당되는 글 1건

  1. 2014.09.08 SQL 데이터 조작문 - 데이터 삭제


데이터의 삭제

기존 테이블의 행을 삭제할 때는 다음 형식의 delete 문을 사용한다.

delete

from 테이블

[where 조건];

# 이 delete 문은 where 절의 조건을 만족하는 레코드를 모두 삭제한다.

만일 where절이 없으면 이 테이블은 튜플이 없는 빈 테이블로 된다.


하나의 레코드 삭제

query: 학번 100인 학생을 삭제하라.

delete 

from student

where sno = 100;

# 이 경우 만일 학번을 외래키(foreign key) 로 가지고 있는 테이블이 있다면 그 테이블에서도 같은 삭제 연산이 수행되어야 한다. 왜냐하면 참조 무결성을 유지해야 되기 때문이다. 이 예에서는 등록(enrol) 테이블에서 학번(열값)이 100인 열을 전부 삭제시켜야 된다.


복수의 레코드 삭제

query: 등록(enrol) 테이블의 모든 행을 삭제하라.

delete 

from enrol;

# 이 삭제문의 실행 결과로서 등록 테이블은 빈 테이블로 된다. 그러나 계속 데이터 베이스에 남아 있는 것이지 테이블 자체가 없어지는 것은 아니다. 

즉, 테이블의 제거 (drop) 와는 다르다.


부속 질의문을 사용한 삭제

query: 과목 'C413'의 기말 성적이 60점 미만인 컴퓨터과 학생을 등록 테이블에서 삭제하라.

delete

from enrol

where cno = 'C413' and final < 60

and enrol.sno in (select sno

from student

where dept = '컴퓨터');



Posted by scii
: